目前我正在使用以下代码播放铃声:
Ringtone ringtone = RingtoneManager.getRingtone(this, Uri.parse(selectedRingtone));
ringtone.play();
如果我播放默认铃声或系统铃声,则会循环或重复播放。但如果我从我的画廊或媒体商店中选择任何其他声音,它只播放一次。我已经浏览了一些链接,但我不想使用 MediaPlayer
。我只需要使用 RingtoneManger
。
答案 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();
中没有任何与循环相关的方法
答案 2 :(得分:0)
如果您定位的是Api 28或更高版本,则setLooping
中现在有一个Ringtone
方法
https://developer.android.com/reference/android/media/Ringtone.html#setLooping(boolean)
因此在您的原始示例中,您只需添加
ringtone.setLooping(true);