如何在Android中以无限循环的方式播放铃声音频?

7
我想播放在设备设置中选择的铃声,但是要以循环模式播放。
在这里您可以看到如何仅播放一次: 如何在Android中播放铃声/闹钟声音
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
r.play();

我需要让它循环播放,但我不知道该怎么做...谢谢。
2个回答

14

看起来最简单的方法是使用从RingtoneManager返回的Uri创建一个MediaPlayer,并将其设置为循环播放。

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
MediaPlayer player = MediaPlayer.create(this, notification);
player.setLooping(true);
player.start();

1
运行良好,但如何停止循环呢? - BST Kaal
3
调用 player.stop() - Jack

2
通过使用 setLooping(true),您可以实现以下效果:
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
mMediaPlayer.setDataSource(this, alert);
mMediaPlayer.setLooping(true);
mMediaPlayer.prepare();
mMediaPlayer.start();

1
请同时提供一些解释,以展示它如何解决问题。 - Saeed Zhiany

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接