2012-03-08 11 views
1

私は2つのメディアプレーヤーを異なるサウンドで使用していますが、両方のサウンドが再生され、戻るボタンが押されても問題ありません。 1および/または両方の音がバックボタンがあるとき、私は近く強制的に取得演奏されていない場合、メディアプレーヤーは、停止してリリース。(MPがループに設定され、わずかな短いサウンドを再生MPS)mediaplayerを使用せずに戻るボタンを押したときに強制終了

@Override 
protected void onPause() { 
    // TODO Auto-generated method stub 
    mp.stop(); 
    super.onPause(); 
} 
@Override 
protected void onStop() { 
    // TODO Auto-generated method stub 
    mp.release(); 
    mps.release(); 
    super.onStop(); 
} 

しかし、プッシュされ、ヌルポインタ例外です。メディアプレイヤーがこれまで使用されていたため、それらを停止してリリースする必要があるかどうかを確認するコードをどのように記述しますか?

+0

あなたは、カウントを使用し、そこにあれば、それに1を追加することができますが必要な変数へのアクセス権を持っているときには、別の変数を追跡する意味しますそれが0かどうかをチェックしています。 – bobthemac

+0

私はそれを試してみましょう、ありがとう。 – kmb

答えて

0

あなたのonPauseとonStopでヌルポインタを取得する場合は、mpがnullであるかどうかを確認する必要があります。

@Override 
protected void onPause() { 
    if (mp != null) 
     mp.stop(); 
    super.onPause(); 
} 
@Override 
protected void onStop() { 
    if (mp != null) 
    mp.release(); 
    if (mps != null) 
    mps.release(); 

    super.onStop(); 
} 

あなたがしたい場合は、カウントを保持することができますが、あなたはすでにあなたが

+0

私はそれが働くようになった!短いサウンドが再生された直後にメディアプレーヤーを解放し、if(mp!= null)ストップを使用してonPauseで解放します。皆さん、ありがとうございます。 – kmb

0

遊びがあった場合にカウントを使用して1を加算して、0に等しいかどうかを確認できますか?

関連する問題