Établir le routage entre appareils

Lorsque les utilisateurs connectent leurs téléviseurs, systèmes de home cinéma et lecteurs de musique à des technologies sans fil, ils souhaitent pouvoir lire le contenu des applications Android sur ces appareils plus grands et plus puissants. Activer ce type de lecture peut transformer votre application mono-appareil en une expérience partagée qui ravira et inspire plusieurs utilisateurs.

Les API de routeur multimédia Android sont conçues pour permettre l'affichage et la lecture de contenus multimédias sur des récepteurs à distance à l'aide d'une interface utilisateur commune. Les développeurs d'applications qui implémentent une interface MediaRouter peuvent ensuite se connecter au framework et lire du contenu sur les appareils qui participent au framework du routeur multimédia. Les fabricants d'appareils de lecture multimédia peuvent participer au framework en publiant un MediaRouteProvider qui permet à d'autres applications de se connecter aux appareils récepteurs et de les lire. La figure 1 montre comment une application se connecte à un appareil récepteur via le framework du routeur multimédia.

Figure 1 : Présentation de la manière dont les classes du fournisseur de routage multimédia fournissent la communication entre une application multimédia et un appareil récepteur.

Remarque:Si vous souhaitez que votre application soit compatible avec les appareils Google Cast, vous devez utiliser le SDK Cast et créer votre application en tant qu'émetteur Cast. Suivez les instructions de la documentation Cast au lieu d'utiliser directement le framework MediaRouter.

Bibliothèque Support MediaRouter

Les API mediarouter sont définies dans la bibliothèque MediaRouter AndroidX. Cette bibliothèque est compatible avec les appareils équipés d'Android 2.3 (niveau d'API 9) ou version ultérieure, et garantit une expérience cohérente sur chacun d'eux. Pour en savoir plus sur les API mediarouter, consultez le package androidx.mediarouter.media dans la documentation de référence de l'API.

API MediaRouter
Une application multimédia utilise l'API MediaRouter pour identifier les appareils de lecture à distance disponibles et leur envoyer des contenus audio et vidéo.
API MediaRouteProvider
L'API MediaRouteProvider définit les fonctionnalités d'un appareil de lecture à distance et les rend visibles aux applications qui utilisent un MediaRouter pour rechercher d'autres chemins d'accès multimédias.

Le sélecteur de sortie

À partir d'Android 11, les options de routage de votre application s'affichent également dans le lecteur multimédia système. Cela permet à l'utilisateur de naviguer facilement lorsqu'il passe d'un appareil à un autre lorsqu'il change de contexte de visionnage et d'écoute (par exemple, lorsqu'il regarde une vidéo dans la cuisine ou sur un téléphone, ou qu'il écoute du contenu audio à la maison ou en voiture).

Si vous appuyez sur le bouton de sélection d'itinéraire dans une notification multimédia, le sélecteur de sortie s'affiche par défaut avec les options suivantes:

  • Haut-parleur de l'appareil actuel
  • Tous les appareils audio Bluetooth connectés

Les applications peuvent également proposer d'autres options en fonction de leurs fonctionnalités (par exemple, Cast).

Les applications peuvent utiliser l'API MediaRouter pour personnaliser les choix de routage. Vous pouvez exclure les appareils non compatibles (par exemple, en excluant le Chromecast en mode audio uniquement si vous regardez une smart TV Netflix) ou inclure d'autres appareils spéciaux reconnus par votre application.