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 后访问它。我现在已经把它放在了看守之下,一切都很好。发布没有任何问题