相关疑难解决方法(0)

ANDROID_LOOP = true - 如何避免MediaPlayer使用此元数据标记循环音频

我想用MediaPlayer播放设备铃声,但似乎是元数据标签

ANDROID_LOOP = true
Run Code Online (Sandbox Code Playgroud)

设置MediaPlayer忽略方法setLooping的调用

mMediaPlayer.setLooping(false);
Run Code Online (Sandbox Code Playgroud)

并在任何情况下循环音频.此外,未调用onCompletionListener方法.

我注意到,即使启用了循环,即使像ES Media Player那样的音频应用程序也会将此标记设置为true.

所以我的问题是我能不能

  • 使MediaPlayer忽略此标记
  • 临时修改标签,以便MediaPlayer不循环音频

这个问题出现在铃声周围,但它当然不是铃声特定的.有趣的是,我发现如何播放铃声的教程都设置了mMediaPlayer.setLooping(true); 所以他们似乎没有必要处理这个问题......

谢谢

在此输入图像描述

android android-mediaplayer

5
推荐指数
1
解决办法
4461
查看次数

android.media.Ringtone.play() 在播放 28 次后停止工作

我有一个开放数小时的应用程序,并使用附加了前台通知的后台服务。每隔一段时间播放一次声音使用:

try {
    Ringtone r = RingtoneManager.getRingtone(context, uri);
    r.play();
} catch (Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

声音正在工作,但过了一会儿,声音不再播放了。
没有错误,没有警告,没有崩溃。就是没有声音。

我的用户也在抱怨,所以它看起来不像是特定于设备的问题。

Android Docs没有提及任何关于此的内容。有谁知道这是为什么?

android ringtone ringtonemanager

2
推荐指数
1
解决办法
1586
查看次数