2011-12-19 14 views
0

を動作しません。メディアプレーヤー音停止()私は1つの音楽トラックとオプション2は、それを停止する必要があります開始しますが、そうでない活動</p> <p>オプションのメニューでこれらの2つのオプションがあり

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    MediaPlayer mpSoundTrack = MediaPlayer.create(this, R.raw.app_score); 

    switch (item.getItemId()) { 
     case R.id.icon:  Toast.makeText(this, "Music On!", Toast.LENGTH_LONG).show(); 
     mpSoundTrack.start(); 
          break; 
     case R.id.icontext: Toast.makeText(this, "Music Off!", Toast.LENGTH_LONG).show(); 
     mpSoundTrack.stop(); 
          break; 
    } 
    return true; 
    } 
+0

ストップボタンを押したときにプレイヤーは何かをプレイしていますか? –

+0

はい、ユーザーがスイッチの最初のオプションをクリックしたときに開始される音楽ファイルを再生していました。下のバディーは私にそれを修正する方法を教えてくれました。あなたの興味に感謝します。 – TroothHertz

答えて

3

新しいmediaPlayerを作成するたびに、新しいメディアプレーヤーを作成するたびに、新しいメディアプレーヤーを停止するようにします。

private MediaPlayer mpSoundTrack = null; 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.icon:  
      Toast.makeText(this, "Music On!", Toast.LENGTH_LONG).show(); 
      mpSoundTrack = MediaPlayer.create(this, R.raw.app_score); 
      mpSoundTrack.start(); 
      break; 
     case R.id.icontext: 
      Toast.makeText(this, "Music Off!", Toast.LENGTH_LONG).show(); 
      if(mpSoundTrack != null) 
       mpSoundTrack.stop(); 
      break; 
    } 
    return true; 
} 
+0

多くの義務があります。私は、活動を変えながら音を演奏し続けるかどうかを気にするかどうかわからない。割り当ては2時間以内にアップロードする必要があります:)。しかし、心から感謝しています。 – TroothHertz

+0

この方法で 'onPause()'で止めることはできますが、あなたはメディアプレーヤーへの参照を失います。 – MByD

関連する問題