В моем приложении фоновая музыка воспроизводится в цикле, используя MediaPlayer
.Я останавливаю музыку в onPause
Действия, чтобы она не продолжала воспроизводиться, если пользователь покидает приложение, нажимая клавишу «Домой», или если он получает телефонный звонок и т. Д.
Однако,Теперь мне нужно, чтобы музыка продолжала играть без проблем, когда пользователь переходит к некоторым другим действиям.То есть, если они нажимают кнопку A, тогда я добавляю активность A в стек, и музыка должна продолжаться;однако, если они нажимают кнопку B, тогда я добавляю активность B в стек, и музыка должна остановиться.Точно так же музыка должна продолжаться, если они нажимают кнопку «Назад» на телефоне, чтобы вернуться из занятия А. к исходному занятию.
Я попытался снова запустить MediaPlayer
в onResume
занятия А, но довольнозаметный разрыв в музыке во время перехода.
В данный момент у меня onPause
вызывает задержку в полсекунды перед тем, как музыка затухает в течение еще четверти секунды;это можно отменить из другого действия onResume
.Это означает, что музыка останавливается достаточно быстро, когда пользователь покидает приложение;однако, когда пользователь переключает действия, я все же получаю небольшую паузу в музыке на некоторых более медленных устройствах.Кроме того, это похоже на очень грязный хак.
Есть ли лучший способ?
[Редактировать: если это помогает, MediaPlayer
содержится в статическом классе, к которому я могу получить доступ откуда угоднов заявке.]