Начиная с Android 13, элементы управления мультимедиа в системном интерфейсе включают обновления кнопок действий и дистанционного воспроизведения. Эти изменения обеспечивают более удобное управление мультимедиа на телефонах и планшетах, а также бесперебойную передачу медиафайлов между устройствами.
Обновления в настройках мультимедиа
В этом разделе описываются обновления элементов управления воспроизведением мультимедиа в Android 13, касающиеся кнопок действий и удаленного воспроизведения.
Изменения кнопки действия
Чтобы обеспечить пользователям доступ к широкому набору элементов управления воспроизведением мультимедиа в приложениях, кнопки действий в элементах управления мультимедиа в Android 13 создаются на основе состояний действия PlaybackState . Благодаря этому изменению функция MediaDataManager#createActionsFromState генерирует информацию о кнопках действий на основе состояния действия PlaybackState . Это соответствует тому, как отображаются элементы управления мультимедиа на других платформах Android, таких как Auto, Assistant и Wear.
В отличие от этого, в Android 12 действия кнопок управления мультимедиа определялись действиями уведомлений, добавленными в уведомление MediaStyle .
Сводную информацию об изменениях, совместимых с приложением и связанных с обновлением кнопок действий, см. в StatusBarManager .
API удаленного воспроизведения
Для обеспечения целостного взаимодействия с мультимедиа на различных платформах, начиная с Android 13, добавлен новый системный API Notification#setRemotePlaybackInfo позволяющий помечать уведомления о воспроизведении мультимедиа в системном интерфейсе управления мультимедиа для удаленного воспроизведения. Этот API позволяет системным приложениям, отправляющим уведомления, выполнять следующие действия:
- Предоставьте информацию и функциональность для вывода мультимедиа с удаленного устройства на переключатель вывода по умолчанию в пульте управления мультимедиа.
- При необходимости замените элементы выходного переключателя.
Системные приложения, использующие это уведомление, должны иметь разрешение MEDIA_CONTENT_CONTROL .
API-функция Notification#setRemotePlaybackInfo также добавляет следующие extras для определения имени, значка и назначения удаленного устройства воспроизведения:
-
Notification#EXTRA_MEDIA_REMOTE_DEVICE -
Notification#EXTRA_MEDIA_REMOTE_ICON -
Notification#EXTRA_MEDIA_REMOTE_INTENT
Используя эту информацию, пользовательский интерфейс системы может заменить информацию о микросхеме коммутатора выходного сигнала по умолчанию и добавить управление воспроизведением мультимедиа для удаленного воспроизведения в конец списка локальных элементов управления мультимедиа.
Внедрение контроля над СМИ
Производителям оборудования необходимо учитывать это изменение в поведении по умолчанию, поскольку оно влияет на то, как генерируются элементы управления мультимедиа для приложений. Производители оборудования также должны обеспечить корректную работу нового системного API в рамках возможностей переключателя вывода.
Производителям оригинального оборудования (OEM) не требуется вносить какие-либо изменения, и они могут использовать реализацию по умолчанию в AOSP.
Настройка удаленного воспроизведения
В случаях, когда у производителя оборудования есть системное приложение, которое отправляет уведомления о удалённом воспроизведении мультимедиа, приложение может дополнительно вызывать функцию setRemotePlaybackInfo для отправки уведомлений, если ему предоставлено разрешение MEDIA_CONTENT_CONTROL . Однако это не является обязательным требованием, и партнёр может не вносить никаких изменений.
Проверка контроля над СМИ
Для проверки управления мультимедиа в системном интерфейсе выполните ручную проверку, чтобы убедиться в следующем:
- Кнопки работают как положено при воспроизведении мультимедиа из приложения.
- Выходной коммутатор отображает корректную информацию об устройстве.
Для проверки работоспособности API удалённого воспроизведения используйте следующие тесты:
- Тесты CTS в
NotificationManagerTest, такие какtestMediaStyleRemotePlayback_noPermissionиtestMediaStyleRemotePlayback_hasPermission. - Модульные тесты находятся в папке
com.android.systemui.media.
Рекомендации см. в новом требовании CDD [3.8.3.1/H-1-SR].