2013-08-18 2 views
0

У меня есть следующий фрагмент кода. Не знаете, почему, когда нажата кнопка выхода, медиаплеер не останавливается, хотя выход из игры должен остановить все действия в нем. Любая помощь будет оценена. Я попробовал stop(), release(), reset() и установил значение null. Пожалуйста, дайте мне знать, где я ошибаюсь.Невозможно остановить выполнение медиаплеера посередине

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

Hi dbkoren, Большое спасибо, да, это помогло, и теперь мне легче понять структуру немного больше. –

+0

Попытайтесь работать с примером из Интернета при работе над новым материалом, все это помогает ... Примите, пожалуйста, ответ, если найдете его полезным и полезным. Спасибо. – dbkoren

+0

На самом деле я пропустил вопрос о том, почему его следует объявить в onCreate(), то есть основной деятельностью приложения, которое должно решить, сохранять ли ресурсы или нет. Еще раз спасибо за руководство! –

Смежные вопросы