【问题标题】:Repeat Ringtone using RingtoneManager in android在 android 中使用 RingtoneManager 重复铃声
【发布时间】:2015-04-08 12:54:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: android android-mediaplayer


    【解决方案1】:

    你必须使用MediaPlayer

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

    RingtoneRingtoneManager中没有与循环相关的方法

    【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 你能指导我如何将有关循环的信息放入任何媒体文件中。
    【解决方案3】:

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

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

    所以在你原来的例子中,你只需添加

    ringtone.setLooping(true);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多