首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android.media.Ringtone.play()在28次播放后停止工作

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

Stack Overflow用户
提问于 2016-10-05 14:35:12
回答 1查看 1.8K关注 0票数 2

我有一个应用程序,是开放了几个小时,并使用背景服务与前景通知附加到它。每隔一段时间播放一次声音,使用:

代码语言:javascript
复制
try {
    Ringtone r = RingtoneManager.getRingtone(context, uri);
    r.play();
} catch (Exception e) {
    e.printStackTrace();
}

声音正在工作,但过了一段时间,的声音不再播放了。

没有错误,没有警告,没有崩溃。只是没有声音。

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

Android文档没有提到这件事。有人知道这是为什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-01 14:03:32

不要在BroadcastReceiver!中创建铃声或MediaPlayer

问题在于铃声或MediaPlayer的上下文。通过触发声音形式的广播接收器,一个新的MediaPlayer或铃声被创建,每次声音播放。28次之后,这个声音就不再播放了。

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39876885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档