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 reproducir contenido de apps de Android en estos dispositivos más grandes y más ruidosos. Habilitar este tipo de reproducción puede convertir tu app de un dispositivo y un usuario en una experiencia compartida que deleita e inspira a varios usuarios.

Las APIs de MediaRouter de Android están diseñadas para habilitar la reproducción y la visualización de contenido multimedia en dispositivos receptores remotos mediante una interfaz de usuario común. Los desarrolladores de apps que implementan una interfaz de MediaRouter pueden conectarse al framework y reproducir contenido en dispositivos que son parte del framework del router de contenido multimedia. Para participar en el framework, los fabricantes de dispositivos de reproducción de contenido multimedia pueden publicar un MediaRouteProvider que les permita a otras apps conectarse y reproducir contenido multimedia en los dispositivos receptores. En la figura 1, se muestra cómo se conecta una app a un dispositivo receptor a través del framework de router de contenido multimedia.

Figura 1: Descripción general del modo en que las clases de proveedor de rutas de contenido multimedia proporcionan comunicación entre una app de contenido multimedia y un dispositivo receptor

Nota: Si deseas que tu app sea compatible con dispositivos Google Cast, deberías usar el SDK de Cast y compilar tu app como dispositivo de envío de Cast. Sigue las instrucciones de la documentación de Cast en lugar de usar directamente el framework de MediaRouter.

Biblioteca de compatibilidad de MediaRouter

Las APIs de MediaRouter se definen en la biblioteca de MediaRouter de AndroidX. Esta biblioteca es compatible con los 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 acerca de 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 los dispositivos de reproducción remota disponibles y enrutar el audio y video a 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 proporcionar más opciones según sus capacidades, como la transmisión.

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