android MediaPlayer - MediaPlayer上的illegalstateException

时间:2012-09-21 22:00:46

标签: android android-mediaplayer

我有以下代码。
例如:

 if(player1 != null){
    if(player1.isPlaying()){ //check if it playing
        //other code

    }
    }

问题1:
即使媒体播放器已完成播放并且我在oncompletion上释放播放器,因此null的条件检查始终通过。 //完成播放器后发布

player1.setOnCompletionListener(new OnCompletionListener() {
                    @Override
                public void onCompletion(MediaPlayer mp) {
                    mp.release();
                    Log.d(TAG, "Media player has completed playing");

                }
            });

问题2:
如果玩家已完成游戏,则对null的检查仍会返回false,并且isPlaying给出illegalstateexception时会失败。

1 个答案:

答案 0 :(得分:3)

释放播放器不会使实例无效。如果那就是你想要的,那么在发布后添加null。

player1.setOnCompletionListener(new OnCompletionListener() {
                    @Override
                public void onCompletion(MediaPlayer mp) {
                    mp.release();
                    mp = null;
                    Log.d(TAG, "Media player has completed playing");

                }
            });