Я учусь обращаться с аудио-фокусом в Android с этого сайта . Автор более или менее четко написал коды. Однако у меня есть три вопроса, которые остались без ответа. (Предположим, что я реализовал OnAudioFocusChangeListener
в своем приложении.)
1. Рассмотрим случай, когда я запрашиваю фокусировку звука (AUDIOFOCUS_GAIN
), но система это отрицает ( AUDIOFOCUS_REQUEST_FAILED
). Теперь, кроме того, что я не должен запускать свой медиаплеер, что мне делать? Должен ли я постоянно запрашивать фокус, пока он не будет предоставлен (в al oop в отдельном потоке)? Или слушатель предупредит меня, когда я получу запрос?
2. Рассмотрим случай, когда система предоставляет AUDIOFOCUS_REQUEST_DELAYED
. документация гласит,
Запрос на изменение фокуса, предоставление которого задерживается: запрос был успешным, но запрашивающему будет предоставлен звуковой фокус только после того, как условие, которое помешало немедленному предоставлению, имело закончилась.
Поскольку фокусировка задерживается, как я узнаю, когда мне был предоставлен полный аудиофокус? Через слушателя? Или через al oop, как указано выше?
3. Если мое приложение теряет фокус во время воспроизведения мультимедиа (AUDIOFOCUS_LOSS
), и я не отказываюсь от фокуса, будет ли система позже предоставьте мне фокус автоматически, когда другое приложение, запрашивающее фокус, откажется от него, или мне придется запросить его снова?