Établir le routage entre appareils

Les utilisateurs connectent leurs téléviseurs, systèmes home cinéma et lecteurs de musique avec des technologies sans fil. Ils souhaitent pouvoir lire du contenu à partir d'applications Android sur ces appareils plus grands et plus puissants. L'activation de ce type de lecture peut transformer votre application à un seul appareil et un seul utilisateur en une expérience partagée qui ravit et inspire plusieurs utilisateurs.

Les API Android MediaRouter 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 lire du contenu sur les appareils qui participent au framework Media Router. Les fabricants d'appareils de lecture multimédia peuvent participer au framework en publiant un MediaRouteProvider qui permet à d'autres applications de se connecter et de lire des contenus multimédias sur les appareils récepteurs. La figure 1 illustre la façon dont une application se connecte à un récepteur via le framework MediaRouter.

Figure 1 : Présentation de la façon dont les classes de fournisseur de route multimédia permettent 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'application émettrice 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 tous ces appareils. Pour obtenir des informations détaillées 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 y acheminer l'audio et la vidéo.
API MediaRouteProvider
L'API MediaRouteProvider définit les capacités d'un appareil de lecture à distance et les rend visibles 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 s'affichent également dans le lecteur multimédia système. Cela permet à l'utilisateur de bénéficier d'un parcours fluide lorsqu'il passe d'un appareil à un autre, car il peut changer de contexte de visionnage et d'écoute (par exemple, regarder une vidéo dans la cuisine ou sur un téléphone, ou écouter un contenu audio à la maison ou dans la voiture).

Si vous appuyez sur le bouton de sélection de l'itinéraire dans une notification multimédia, le sélecteur de sortie s'affiche 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 d'autres 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 ne prenez pas en charge (par exemple, en filtrant les Chromecast audio uniquement si vous regardez Netflix sur une smart TV) ou inclure d'autres appareils spéciaux que votre application reconnaît.