在android中使用RingtoneManager重复铃声

时间:2015-04-08 12:54:03

标签: android android-mediaplayer

目前我正在使用以下代码播放铃声:

Ringtone ringtone = RingtoneManager.getRingtone(this, Uri.parse(selectedRingtone));
ringtone.play();

如果我播放默认铃声或系统铃声,则会循环或重复播放。但如果我从我的画廊或媒体商店中选择任何其他声音,它只播放一次。我已经浏览了一些链接,但我不想使用 MediaPlayer 。我只需要使用 RingtoneManger

3 个答案:

答案 0 :(得分:1)

看起来像正在播放的文件(默认),有关于文件本身循环的信息。如果要循环其他文件,则必须确保这些文件包含有关循环的信息。它将帮助您使用Ringtone.class存档您的目标。

否则,我建议你使用MediaPlayer。即使没有关于文件循环的信息,你也可以循环播放声音(为什么你不想使用这个类?)

答案 1 :(得分:0)

您必须使用MediaPlayer

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

RingtoneRingtoneManager

中没有任何与循环相关的方法

答案 2 :(得分:0)

如果您定位的是Api 28或更高版本,则setLooping中现在有一个Ringtone方法

https://developer.android.com/reference/android/media/Ringtone.html#setLooping(boolean)

因此在您的原始示例中,您只需添加

ringtone.setLooping(true);