Маршрутизация между устройствами

Когда пользователи подключают свои телевизоры, системы домашнего кинотеатра и музыкальные плееры с помощью беспроводных технологий, они хотят иметь возможность воспроизводить контент из приложений Android на этих более крупных и громких устройствах. Включение такого типа воспроизведения может превратить ваше приложение для одного устройства и одного пользователя в общий опыт, который восхищает и вдохновляет множество пользователей.

API-интерфейсы медиа-маршрутизатора Android предназначены для отображения и воспроизведения мультимедиа на удаленных приемных устройствах с использованием общего пользовательского интерфейса. Разработчики приложений, реализующие интерфейс MediaRouter могут затем подключиться к платформе и воспроизводить контент на устройствах, которые участвуют в платформе медиамаршрутизатора. Производители устройств воспроизведения мультимедиа могут участвовать в этой платформе, опубликовав MediaRouteProvider , который позволяет другим приложениям подключаться и воспроизводить мультимедиа на устройствах-приемниках. На рис. 1 показано, как приложение подключается к устройству-получателю через структуру медиамаршрутизатора.

Рис. 1. Обзор того, как классы поставщиков медиа-маршрутов обеспечивают связь между мультимедийным приложением и устройством-получателем.

Примечание. Если вы хотите, чтобы ваше приложение поддерживало устройства Google Cast , вам следует использовать Cast SDK и создать свое приложение в качестве отправителя Cast. Следуйте инструкциям в документации по Cast вместо прямого использования платформы MediaRouter.

Библиотека поддержки MediaRouter

API-интерфейсы mediarouter определены в библиотеке AndroidX MediaRouter . Эта библиотека совместима с устройствами под управлением Android 2.3 (уровень API 9) и выше и обеспечивает единообразную работу на всех них. Подробную информацию об API-интерфейсах mediarouter см. в пакете androidx.mediarouter.media в справочнике по API.

Медиамаршрутизатор API
Мультимедийное приложение использует API MediaRouter для обнаружения доступных устройств удаленного воспроизведения и маршрутизации к ним аудио и видео.
Медиарутепровидер API
API MediaRouteProvider определяет возможности удаленного устройства воспроизведения и делает его видимым для приложений, которые используют MediaRouter для поиска альтернативных путей мультимедиа.

Выходной переключатель

Начиная с Android 11, параметры маршрутизации вашего приложения также отображаются в системном медиаплеере. Это помогает пользователю беспрепятственно перемещаться между устройствами, когда они меняют контекст просмотра и прослушивания, например, просмотр видео на кухне по сравнению с телефоном или прослушивание звука дома или в машине.

Нажатие кнопки выбора маршрута в медиа-уведомлении вызывает переключатель вывода со следующими вариантами по умолчанию:

  • Динамик на текущем устройстве
  • Все подключенные аудиоустройства Bluetooth

Приложения также могут предоставлять больше возможностей в зависимости от их возможностей, например Cast.

Приложения могут использовать API MediaRouter для настройки вариантов маршрутизации. Вы можете исключить устройства, которые вы не поддерживаете (например, отфильтровать Chromecast только для аудио, если вы смотрите телевизор Netflix Smart TV) или включить другие специальные устройства, которые распознает ваше приложение.