如果与服务器的连接断开,我的 Android 应用程序需要每 5 秒左右向用户播放一次警告音。
所以它每 5 秒执行一次这段代码
MediaPlayer np = MediaPlayer.create(globals.MainContext, R.raw.warn);
np.start();
这是一个简短的 mp3 声音 fragment ,可能持续 2 秒。它播放了几次然后不再播放了。我查看了日志和“AudioFlinger:它说音轨内存不足”,然后是一堆相关的音频投诉。
是因为我不断地创建一个新的 MediaPlayer 吗?我认为它会在声音自动停止时收集和删除垃圾?我应该只创建一次并保留对象吗?
有人知道吗?
谢谢
最佳答案
是的,正如您所建议的,不要每次都创建一个新的 MediaPlayer。所以创建 MediaPlayer 对象然后每 5 秒只执行一次 np.start();
关于java - 一段时间后 MediaPlayer 停止播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45991011/