1

我有以下一段代码。
前任:

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

    }
    }

问题 1:
即使媒体播放器完成播放并且我在完成时释放播放器,null 的条件检查也始终通过。//播放器完成后释放

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

                }
            });

问题 2:
如果玩家已经玩完游戏,检查 fornull仍然返回 false 并且失败,因为isPlaying给出illegalstateexception.

4

1 回答 1

3

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

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

                }
            });
于 2012-09-21T22:54:01.993 回答