Routing tra dispositivi

Quando gli utenti collegano le loro televisioni, i sistemi home theater e i lettori musicali con tecnologie wireless, vogliono poter riprodurre contenuti dalle app per Android su questi dispositivi più grandi e più potenti. 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 entusiasma e ispira più utenti.

Le API di router multimediali Android sono progettate per consentire la visualizzazione e la riproduzione di contenuti multimediali su dispositivi di ricezione 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 multimediali possono partecipare al framework pubblicando un MediaRouteProvider che consente ad altre applicazioni di connettersi e riprodurre contenuti multimediali sui dispositivi ricevitori. La Figura 1 mostra come un'app si connette a un dispositivo di ricezione tramite il framework del router multimediale.

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

Nota: se vuoi che la tua app supporti i dispositivi Google Cast, devi utilizzare l'SDK Cast e creare la tua app come emittente di contenuti 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 instradare 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 instradamento 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 man mano che cambia contesto di visualizzazione e ascolto, ad esempio guardare un video in cucina o su uno smartphone oppure ascoltare contenuti audio in casa o in auto.

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

  • Lo speaker sul dispositivo attuale
  • Tutti i dispositivi audio Bluetooth connessi

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

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 Netflix su una smart TV) o includere altri dispositivi speciali riconosciuti dalla tua app.