2013-08-18 46 views
0

我有以下代碼片段。不知道爲什麼,當點擊退出按鈕時,媒體播放器不會停止,即使退出遊戲也應該停止其中的所有活動。 任何幫助將不勝感激。我試過停止(),釋放(),重置()和設置爲空。請讓我知道我哪裏錯了。無法停止中間媒體播放器的執行

public void onClick(View v){ 
     // The background music of the game 
     MediaPlayer back_music = MediaPlayer.create(getBaseContext(), R.raw.sher_khan); 
     switch (v.getId()){ 
     case R.id.new_game: 
      openNewGameDialog(); 
      break; 
     case R.id.about_game : 
      Intent i = new Intent(this, About.class); 
      startActivity(i); 
      break; 
     case R.id.exit_game : 
      if(back_music.isPlaying()){ 
       back_music.release(); 
       back_music.reset(); 
       back_music = null ; 
       //onDestroy(); 
      } 
      finish(); 
      break; 
     case R.id.sound : 
      // Looping the music 
      //back_music.setLooping(true); 
      // Identifying and kind of looping through the sound_selector items 
      if(v.isSelected()){ 

       v.setSelected(false); 
       play = false; 
       //Music start for the media player 
       back_music.start(); 

      } 
      else if (!v.isSelected()){ 
       //speaker.setSelected(false); 
       back_music.stop(); 
       back_music.release(); 
       v.setSelected(true); 
       play = true; 
       back_music.release(); 
      } 

     } 

回答

0

請嘗試以下方法:

在上創建您的媒體播放器創建,並宣佈它爲您的活動中的一員:

MediaPlayer back_music; 
public class MainACtivity(){ 
.... 
.... 
onCreate(){ 
    back_music= MediaPlayer.create(getBaseContext(), R.raw.sher_khan); 
..... 
} 

然後刪除行「的MediaPlayer back_music = MediaPlayer.create(getBaseContext(),R.raw.sher_khan);「

並給它另一個鏡頭:)

希望它可以幫助你。

+0

嗨dbkoren, 非常感謝,是的,它確實有幫助,現在我更容易理解結構多一點。 –

+0

嘗試使用Web上的示例處理新東西時,它可以幫助您...如果您發現它的工作方式和實用性,請接受答案。謝謝。 – dbkoren

+0

其實我錯過了爲什麼它應該在onCreate()中聲明的點,那是應該決定是否保留資源的主要活動。再次感謝您的指導! –