Как поставить музыку на паузу при поступлении звонка, получении смс и т. Д.? - PullRequest
3 голосов
/ 03 июля 2011

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

Этот код, похоже, ничего не делает ( stop приостанавливает музыку и p записывает в журнал), он никогда не вызывается:

public class PollyPrissyPants extends Activity implements OnAudioFocusChangeListener {
    // Blah blah blah
    public void onAudioFocusChange(int mal) {
        p("--CHANGE!!!--" + mal);
        stop();
    }
    // Yada yada yada
}

Должен ли я установить его где-нибудь еще?Является ли @Override релевантным?

Я не пробовал PhoneStateListener, но, если возможно, мне не нужно обрабатывать телефонные звонки, тревоги, уведомления, игры и т. Д. Отдельно.Я сейчас использую вибрацию, но это отстой как решение.Если мне позвонят, я должен ответить, а затем быстро добраться до своего приложения и приостановить его.

1 Ответ

2 голосов
/ 03 июля 2011

Вы должны зарегистрировать OnAudioFocusListener с AudioManager:

audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audio.requestAudioFocus(this,
      AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);

Параметр this является ссылкой на класс, реализующий OnAudioFocusListener.

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