Tom*_*per 2 android ringtone ringtonemanager
我有一个开放数小时的应用程序,并使用附加了前台通知的后台服务。每隔一段时间播放一次声音使用:
try {
Ringtone r = RingtoneManager.getRingtone(context, uri);
r.play();
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
声音正在工作,但过了一会儿,声音不再播放了。
没有错误,没有警告,没有崩溃。就是没有声音。
我的用户也在抱怨,所以它看起来不像是特定于设备的问题。
Android Docs没有提及任何关于此的内容。有谁知道这是为什么?
不要在 BroadcastReceiver 中创建铃声或媒体播放器!
问题是铃声或媒体播放器的上下文。通过从广播接收器触发声音,每次播放声音时都会创建一个新的 MediaPlayer 或铃声。28 次后,声音不再播放。
通过播放来自 IntentSerice 的声音,或重新使用 MediaPlayer 或 Ringtone 的静态实例,一切都按预期播放。
| 归档时间: |
|
| 查看次数: |
1586 次 |
| 最近记录: |