Établir le routage entre appareils

Lorsque les utilisateurs connectent leurs téléviseurs, leurs systèmes home cinéma et leurs lecteurs de musique à l'aide de technologies sans fil, ils souhaitent pouvoir lire des contenus à partir d'applications Android sur ces appareils plus grands et plus puissants. En activant ce type de lecture, vous pouvez transformer votre application à un seul appareil et un seul utilisateur en une expérience partagée qui ravit et inspire plusieurs utilisateurs.

Les API du routeur multimédia Android sont conçues pour permettre l'affichage et la lecture de contenus multimédias sur des appareils récepteurs distants à l'aide d'une interface utilisateur courante. Les développeurs d'applications qui implémentent une interface MediaRouter peuvent ensuite se connecter au framework et diffuser du contenu sur les appareils qui participent au framework de 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 lire des contenus multimédias dessus. La figure 1 illustre comment une application se connecte à un appareil récepteur via le framework de routeur multimédia.

Figure 1 : Présentation de la façon dont les classes de fournisseurs de routes multimédias assurent 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 compiler votre application en tant qu'expéditeur 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 AndroidX MediaRouter. 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 l'ensemble d'entre 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 découvrir les appareils de lecture à distance disponibles et pour les acheminer vers l'audio et la vidéo.
API MediaRouteProvider
L'API MediaRouteProvider définit les fonctionnalités d'un appareil de lecture à distance et le rend visible pour les applications qui utilisent un MediaRouter pour rechercher d'autres chemins multimédias.

Sélecteur de sortie

À partir d'Android 11, les options de routage de votre application apparaissent également dans le lecteur multimédia du système. Cela permet à l'utilisateur de passer facilement 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 plutôt que sur un téléphone, ou qu'il écoute de l'audio à la maison ou en voiture.

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

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

Les applications peuvent également proposer plus d'options en fonction de leurs fonctionnalités, comme Cast.

Les applications peuvent utiliser l'API MediaRouter pour personnaliser les choix d'itinéraire. Vous pouvez exclure les appareils que vous n'acceptez pas (par exemple, filtrer les Chromecast audio uniquement si vous regardez une smart TV Netflix) ou inclure d'autres appareils spéciaux que votre application reconnaît.