gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 17:13:37 28 4
gpt4 key购买 nike

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

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

声音正常,但一段时间后声音不再播放。
没有错误,没有警告,没有崩溃。只是没有声音。

我的用户也在提示,所以这看起来不像是设备特定的问题。

Android Docs不要提这个。谁知道这是为什么?

最佳答案

不要在 BroadcastReceiver 中创建 Ringtone 或 MediaPlayer!

问题是铃声或 MediaPlayer 的上下文。通过从广播接收器触发声音,每次播放声音时都会创建一个新的 MediaPlayer 或 Ringtone。 28 次后,声音就不再播放了。

通过从 IntentSerice 播放声音,或重新使用 MediaPlayer 或 Ringtone 的静态实例,一切都按预期播放。

关于播放 28 次后 android.media.Ringtone.play() 停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39876885/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com