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

Подключая свои телевизоры, домашние кинотеатры и музыкальные плееры с помощью беспроводных технологий, пользователи хотят иметь возможность воспроизводить контент из приложений 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 MediaRouter
Медиа-приложение использует API MediaRouter для обнаружения доступных удаленных устройств воспроизведения и направления на них аудио и видео.
API MediaRouteProvider
API MediaRouteProvider определяет возможности удаленного устройства воспроизведения и делает его видимым для приложений, использующих MediaRouter для поиска альтернативных путей передачи мультимедиа.

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

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

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

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

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

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