0%

安卓开发 MediaPlayer 自动数秒后停止

前言

最近在用 Android 下的 MediaPlayer 发出声音,然而发现不知道为什么 8 秒的音频每次两三秒就自动结束了,Log 上还记录有 Warning:Failed to call close. 之类的,可是难以确定是哪里关闭的 Mediaplayer,因为代码的主体是 Fork 的他人的项目。

https://blog.csdn.net/weixin_39644713/article/details/117602300 找到了原因:错误的将 MediaPlayer 对象的引用放到 OnCreate 函数中了,OnCreate 函数结束后,该对象的引用就被释放,于是 MediaPlayer就成了垃圾被清理了……

很好理解问题出在哪,但是真的想不到啊

正文

解决方式很简单,在 Activity 的声明里留一个对播放器对象的引用即可,没必要扔代码了。