Routing tra dispositivi

Quando gli utenti collegano televisori, sistemi home theater e lettori musicali con tecnologie wireless, vogliono poter riprodurre contenuti dalle app per Android su questi dispositivi più grandi e con un volume più alto. L'attivazione di questo tipo di riproduzione può trasformare la tua app per un solo dispositivo e un solo utente in un'esperienza condivisa che delizia e ispira più utenti.

Le API Android Media Router sono progettate per consentire la visualizzazione e la riproduzione di contenuti multimediali su dispositivi ricevitore remoti utilizzando un'interfaccia utente comune. Gli sviluppatori di app che implementano un'interfaccia MediaRouter possono quindi connettersi al framework e riprodurre contenuti sui dispositivi che partecipano al framework del router multimediale. I produttori di dispositivi di riproduzione multimediale possono partecipare al framework pubblicando un MediaRouteProvider che consente ad altre applicazioni di connettersi e riprodurre contenuti multimediali sui dispositivi ricevitore. La figura 1 mostra come un'app si connette a un dispositivo ricevitore tramite il framework del router multimediale.

Figura 1. Panoramica di come le classi di provider di route multimediali forniscono la comunicazione da un'app multimediale a un dispositivo ricevitore.

Nota:se vuoi che la tua app supporti i dispositivi Google Cast, devi utilizzare l'SDK Cast e creare la tua app come mittente Cast. Segui le istruzioni riportate nella documentazione di Cast anziché utilizzare direttamente il framework MediaRouter.

Libreria di supporto MediaRouter

Le API MediaRouter sono definite nella libreria AndroidX MediaRouter. Questa libreria è compatibile con i dispositivi con Android 2.3 (livello API 9) e versioni successive e garantisce un'esperienza coerente su tutti. Per informazioni dettagliate sulle API mediarouter, consulta il pacchetto androidx.mediarouter.media nel riferimento API.

API MediaRouter
Un'app multimediale utilizza l'API MediaRouter per rilevare i dispositivi di riproduzione remota disponibili e per indirizzare l'audio e il video.
API MediaRouteProvider
L'API MediaRouteProvider definisce le funzionalità di un dispositivo di riproduzione remota e lo rende visibile alle app che utilizzano un MediaRouter per cercare percorsi multimediali alternativi.

Il selettore di output

A partire da Android 11, le opzioni di routing della tua app vengono visualizzate anche nel media player di sistema. In questo modo, l'utente può passare da un dispositivo all'altro senza interruzioni quando cambia il contesto di visualizzazione e ascolto, ad esempio quando guarda un video in cucina anziché su uno smartphone o quando ascolta l'audio in casa o in auto.

Se premi il pulsante di selezione del percorso in una notifica multimediale, viene visualizzato il selettore di output con queste scelte per impostazione predefinita:

  • L'altoparlante del dispositivo attuale
  • Tutti i dispositivi audio Bluetooth connessi

Le app possono anche fornire più opzioni a seconda delle loro funzionalità, ad esempio Google Cast.

Le app possono utilizzare l'API MediaRouter per personalizzare le scelte di routing. Puoi escludere i dispositivi che non supporti (ad esempio, filtrare Chromecast solo audio se stai guardando una smart TV Netflix) o includere altri dispositivi speciali che la tua app riconosce.