Поскольку видеоприложение запускает медиасеанс и медиаконтроллер в одном и том же действии, обратные вызовы медиасеанса отличаются от реализации, показанной для архитектуры сервера/клиента аудиоприложения . Вызовы служб отсутствуют, а уведомления обрабатываются через NotificationManager. В следующей таблице показано, как различные функции контролируются в каждом методе обратного вызова:
onPlay() | onPause() | onStop() | |
Аудио Фокус | requestFocus() передает ваш OnAudioFocusChangeListener .Всегда сначала вызывайте requestFocus() , продолжайте только в том случае, если фокус предоставлен. | abandonAudioFocus() | |
Медиа-сессия | setActive(true) - Обновление метаданных и состояния | - Обновление метаданных и состояния | setActive(false) - Обновление метаданных и состояния |
Реализация игрока | Запустить плеер | Приостановить проигрыватель | Остановить плеер |
Становится шумным | Зарегистрируйте свой BroadcastReceiver | Отмените регистрацию BroadcastReceiver | |
Уведомления | Показать уведомление | Уведомление об обновлении |