Остановить музыкальный проигрыватель на кнопке «Домой» устройства Android

У меня есть приложение для Android, в котором я пытаюсь воспроизвести фоновый звук для определенного действия (звук будет воспроизводиться при одном действии, а не для всего приложения). Я использую этот код для запуска MediaPlayer

MediaPlayer backMP = MediaPlayer.create(this, R.raw.theme_loop);
backMP.setLooping(true);
backMP.start(); 

Он работает нормально, но я просто хочу остановить музыку при нажатии кнопки «Домой», для этого я пробовал backMP.release(), backMp.stop() в методе onPause(), у меня ничего не работает.


person rkgarg    schedule 20.06.2013    source источник
comment
Можете ли вы опубликовать код в своей деятельности? Оба предложенных ответа верны.   -  person William Seemann    schedule 21.06.2013


Ответы (2)


используйте backMP.stop как в onDestroy, onStop, так и в onPause, это решит вашу проблему

person rahultheOne    schedule 20.06.2013

использовать этот путь

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if(keyCode == KeyEvent.KEYCODE_HOME)
    {
        Log.d("Test", "Home button pressed!");
        backMP.stop(); 
    }
    return super.onKeyDown(keyCode, event);
}

или вы можете использовать так, чтобы начать играть в onResume()

@Override
    protected void onResume() {
        super.onResume();
                   backMP.start(); 
                    }

и остановитесь в onpouse() вот так

  @Override
      protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
        backMP.stop(); 
     }
person Sunil Kumar    schedule 20.06.2013
comment
Я не думаю, что это сработает, Android не позволяет вам фиксировать событие клавиши «Домой». Кое-что о вредоносном контенте... - person ThaMe90; 20.06.2013
comment
Лучше использовать OnPause. И OnResume, чтобы снова начать играть при повторном открытии приложения. - person ThaMe90; 20.06.2013
comment
если я прокомментирую это, то он автоматически остановится после окончания звука. Это просто для повторения звука. - person rkgarg; 20.06.2013