Cómo enrutar entre dispositivos

A medida que los usuarios conectan sus televisores, sistemas de cine en casa y reproductores de música con tecnologías inalámbricas, quieren poder reproducir contenido de apps para Android en estos dispositivos más grandes y ruidosos. Habilitar este tipo de reproducción puede convertir tu app de un solo dispositivo y usuario en una experiencia compartida que deleita e inspira a varios usuarios.

Las APIs del router de contenido multimedia de Android están diseñadas para habilitar la visualización y la reproducción de contenido multimedia en dispositivos receptores remotos mediante una interfaz de usuario común. Los desarrolladores de apps que implementan una interfaz MediaRouter pueden luego conectarse al framework y reproducir contenido en dispositivos que participan en el framework del router de contenido multimedia. Los fabricantes de dispositivos de reproducción de contenido multimedia pueden participar en el framework publicando un MediaRouteProvider que permita que otras apps se conecten y reproduzcan contenido multimedia en los dispositivos receptores. En la figura 1, se ilustra el modo en que una app se conecta a un dispositivo receptor a través del marco de trabajo del router de contenido multimedia.

Figura 1: Descripción general de cómo las clases de proveedores de rutas de contenido multimedia proporcionan comunicación entre una app de música y un dispositivo receptor

Nota: Si quieres que tu app sea compatible con dispositivos Google Cast, debes usar el SDK de Cast y compilar tu app como remitente de Cast. Sigue las instrucciones en la documentación de Cast en lugar de usar directamente el framework MediaRouter.

Biblioteca de compatibilidad de MediaRouter

Las APIs de mediarouter se definen en la biblioteca de MediaRouter de AndroidX. Esta biblioteca es compatible con dispositivos que ejecutan Android 2.3 (nivel de API 9) y versiones posteriores, y garantiza una experiencia coherente en todos ellos. Para obtener información detallada sobre las APIs de mediarouter, consulta el paquete androidx.mediarouter.media en la referencia de la API.

API de MediaRouter
Una app de música usa la API de MediaRouter para descubrir dispositivos de reproducción remota disponibles y enrutar audio y video hacia ellos.
API de MediaRouteProvider
La API de MediaRouteProvider define las capacidades de un dispositivo de reproducción remota y lo hace visible para las apps que usan un MediaRouter a fin de buscar rutas de medios alternativas.

El selector de salida

A partir de Android 11, las opciones de enrutamiento de tu app también aparecen en el reproductor multimedia del sistema. Esto ayuda al usuario a pasar sin problemas de un dispositivo a otro a medida que cambia su contexto de visualización y reproducción, como cuando mira videos en la cocina o en el teléfono, o cuando escucha audio en el hogar o en el automóvil.

Cuando se presiona el botón de selección de ruta en una notificación de contenido multimedia, aparece el selector de salida con estas opciones predeterminadas:

  • La bocina del dispositivo actual
  • Todos los dispositivos de audio Bluetooth conectados

Las apps también pueden brindar más opciones según sus capacidades, como Transmitir.

Las apps pueden usar la API de MediaRouter para personalizar las opciones de enrutamiento. Puedes excluir dispositivos que no sean compatibles (como filtrar los dispositivos Chromecast de solo audio si estás mirando una smart TV con Netflix) o incluir otros dispositivos especiales que tu app reconozca.