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:
プレーヤーがプレイを終了した場合nullでも、チェックは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 に答える