Android: Как остановить эту музыку уже? - PullRequest
1 голос
/ 09 июня 2011

Я создал приложение и немного фоновой музыки.

Результат = УСПЕХ

Проблема в том, что ... -.- если приложение получает вызов, музыка все еще играет и воспроизводит вместо исходной мелодии пользователя. Плюс, если на телефоне выбрана кнопка «Домой». Активность завершается, но музыка все еще работает?

Мне удалось выйти из музыки, если на телефоне выбрана кнопка «Назад».

кроме этой музыки работает 24/7.

То, что я использовал, это.

Параметр меню в приложении, когда пользователь выбирает «Меню», всплывающий список параметров и возможность выбрать «Настройки ...» Если пользователь выбирает «Настройки ...», появляется диалоговое окно настроек для проверки или снятия отметки с музыки (ВКЛ / ВЫКЛ) Результат = УСПЕХ

Музыка играет во всем приложении, от активности к активности.

Это код моего медиаплеера в моем приложении.

@Override
protected void onPause() {
    super.onPause();
    }


@Override
protected void onResume() {
super.onResume();
Music.play(this, R.raw.bgmusic);
}



public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
        finish(); 
        Music.stop(this);
        return true; 
    }
    return super.onKeyDown(keyCode, event);
}

Это моя музыка. Java

public class Music {
   private static MediaPlayer mp = null;

   /** Stop old song and start new one */

   public static void play(Context context, int resource) {
      stop(context);

      // Start music only if not disabled in preferences
      if (Prefs.getMusic(context)) {
         mp = MediaPlayer.create(context, resource);
         mp.setLooping(true);
         mp.start();
      }
   }



   /** Stop the music */
   public static void stop(Context context) { 
      if (mp != null) {
         mp.stop();
         mp.pause();
         mp.release();
         mp = null;
      }
   }
}

у кого-нибудь есть подсказка?

1 Ответ

1 голос
/ 09 июня 2011

Вам нужно позвонить

Music.stop(this);

в методе onPause. Это может иметь эффект мгновенного сбоя при переключении с одного из ваших действий на другое.

Читайте также этот вопрос и принятый ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...