Android 媒体播放器在退出时崩溃
Android mediaplayer crashes on exit
我遇到的问题是当我在 activity 中使用它时 MediaPlayer 版本工作正常,我在其中交替加载多个音频文件。但是,当我退出 activity 并 [通过 onPause()] 调用释放时。它立即崩溃。我试过在类似的帖子下搜索,但没有找到明确的答案,所以在这里发帖。代码如下所示:
public void closeMediaPlayer() {
if (mp != null && mp.isPlaying()) {
mp.stop();
mp.reset();
}
}
public void releaseMediaPlayer() {
if (mp != null) {
mp.release(); // crashes on exit
mp = null;
}
}
public void instantiateMediaPlayer(int resId) {
closeMediaPlayer();
releaseMediaPlayer(); // works fine here
if (mp == null) {
mp = MediaPlayer.create(getApplicationContext(), resId); //resId points to the mp3 audio file
}
}
public void onPause() {
closeMediaPlayer();
releaseMediaPlayer(); // crashes here
super.onPause();
}
我正在我的 setOnClickListener() 处理程序中调用 mp.start()。我目前正在 Android Studio
下开发和调试
在我的 运行() 处理程序中,我这样做了:
mp.getCurrentPosition();
这就是崩溃的原因,因为我在释放 mp 后访问它。我现在已经把它放在了看守之下,一切都很好。发布没有任何问题
我遇到的问题是当我在 activity 中使用它时 MediaPlayer 版本工作正常,我在其中交替加载多个音频文件。但是,当我退出 activity 并 [通过 onPause()] 调用释放时。它立即崩溃。我试过在类似的帖子下搜索,但没有找到明确的答案,所以在这里发帖。代码如下所示:
public void closeMediaPlayer() {
if (mp != null && mp.isPlaying()) {
mp.stop();
mp.reset();
}
}
public void releaseMediaPlayer() {
if (mp != null) {
mp.release(); // crashes on exit
mp = null;
}
}
public void instantiateMediaPlayer(int resId) {
closeMediaPlayer();
releaseMediaPlayer(); // works fine here
if (mp == null) {
mp = MediaPlayer.create(getApplicationContext(), resId); //resId points to the mp3 audio file
}
}
public void onPause() {
closeMediaPlayer();
releaseMediaPlayer(); // crashes here
super.onPause();
}
我正在我的 setOnClickListener() 处理程序中调用 mp.start()。我目前正在 Android Studio
下开发和调试在我的 运行() 处理程序中,我这样做了:
mp.getCurrentPosition();
这就是崩溃的原因,因为我在释放 mp 后访问它。我现在已经把它放在了看守之下,一切都很好。发布没有任何问题