2013-12-14 65 views
0

我無法使用開/關按鈕讓MediaPlayer運行。帶開/關按鈕的MediaPlayer

我實例化的MediaPlayer和靜音按鈕:

music = MediaPlayer.create(getApplicationContext(), R.raw.loop); 
music.setAudioStreamType(AudioManager.STREAM_MUSIC); 
ibVolume = (ImageButton) findViewById(R.id.btn_volume); 
ibVolume.setBackgroundResource(R.drawable.mute); 
ibVolume.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     if (music.isPlaying() && (music != null)) { 
      music.stop(); 
      music.release(); 
      ibVolume.setBackgroundResource(R.drawable.volumeon); 
      return; 
     } 
     if (!music.isPlaying() && (music != null)) { 
      ibVolume.setBackgroundResource(R.drawable.mute); 
      music.start(); 
      return; 
     } 
    } 
}); 

它僅適用於1次迭代。打開聲音,然後關閉,然後它已經死了。我能做什麼?我已經度過了大約20個MediaPlayer的內容。我已經加載它關閉主線程,就什麼.....它不工作:(

回答

0

刪除行

music.release(); 

music.stop後();

那麼它應該工作。

+0

沒有釋放(),它不停止。 –

+0

HABE你打過電話music.pause ()? – rachit

+0

實際上釋放是不必要的。重新實例化不是 –

1

確定。只是需要釋放之後重新實例MediaPlayer的,爲什麼不停止()停止?