【问题标题】:MediaPlayer stops playing after a whileMediaPlayer 在一段时间后停止播放
【发布时间】:2017-08-31 22:35:53
【问题描述】:

如果与服务器的连接中断,我的 android 应用需要每 5 秒左右向用户播放一次警告音。

所以它每 5 秒执行一次这段代码

MediaPlayer np = MediaPlayer.create(globals.MainContext, R.raw.warn);
np.start();

它是一个简短的 mp3 声音剪辑,可能持续 2 秒。它播放了几次然后不再播放了。我查看了日志和“AudioFlinger:它说没有足够的内存用于音轨”,然后是一堆相关的音频投诉。

是因为我一次又一次地创建一个新的 MediaPlayer 吗?我认为当声音自动停止时它会被垃圾收集和删除?我应该只创建一次并保留对象吗?

有人知道吗?

谢谢

【问题讨论】:

    标签: java android


    【解决方案1】:

    是的,正如您所建议的,不要每次都创建新的 MediaPlayer。所以创建 MediaPlayer 对象,然后每 5 秒只执行一次 np.start();

    【讨论】:

    • 太棒了!前几天刚在学习 Udacity Android Basics Nanodegree 时了解到它。无论如何不要忘记将我的答案标记为已接受:) 干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多