Google Cast per i dispositivi audio supporta solo la riproduzione audio. Questa guida descrive come ottimizzare le applicazioni Cast per i dispositivi di solo audio e sfruttare la riduzione delle richieste di utilizzo di memoria, CPU e larghezza di banda di rete.
Un'app che supporta Google Cast audio deve includere i seguenti elementi considerazione:
- I dispositivi Google Cast per audio non mostrano video o elementi grafici. Tuttavia, Molti dispositivi audio dispongono di un display per mostrare i metadati, come la riproduzione stato di riproduzione (in riproduzione o in pausa) e di avanzamento. L'applicazione non deve mostrare tali informazioni critiche dell'utente solo sul destinatario; informazioni critiche, e la maggior parte dell'interfaccia utente, devono essere mostrate sul mittente.
- Per eseguire correttamente le applicazioni Web Ricevitore, Google Cast per i dispositivi audio devono comunque eseguire il rendering degli elementi grafici, anche se non vengono visualizzati. Dal giorno i dispositivi potrebbero non supportare operazioni grafiche con accelerazione hardware le applicazioni ricevitore dovrebbero evitare di utilizzare operazioni ad alta intensità di grafica come sfumature di colore, rotazione, fusione alfa e ridisegno di grandi come le barre di avanzamento più di una volta al secondo.
- Google Cast per i dispositivi audio supporta solo Widevine per i diritti digitali. Contenuti protetti da gestione (DRM).
- Per la maggior parte dei dispositivi Google Cast per audio, l'applicazione del mittente controlla l'intera gamma di volume del dispositivo (ad esempio uno speaker), non solo dell'ingresso della sorgente audio sulla TV, come in un dispositivo Chromecast.
- Oltre a controllare la riproduzione con il dispositivo del mittente (un telefono, ad esempio), l'app potrebbe dover fornire il controllo della riproduzione con i controller del dispositivo, ad esempio un telecomando, i pulsanti sul dispositivo un'applicazione remota esterna.
- Un dispositivo Google Cast per audio potrebbe supportare la visualizzazione di metadati dei contenuti con un piccolo schermo LCD, uscita HDMI (per soundbar o audio-video ricevitori) o un'applicazione remota esterna, a seconda del tipo UI del dispositivo.
Sviluppo
Il primo passo per sviluppare un'applicazione Cast che supporti Google Cast per l'audio è sviluppare un'applicazione Cast per audio-video e assicurarsi che venga eseguita Chromecast. In questo documento si presuppone che tu abbia sviluppato e testato un'app di questo tipo.
Un'app potrebbe supportare dispositivi audio, video e di solo audio. Deve sapere quando trasmette l'una o l'altra e adotta misure per garantire esperienza utente in base allo scenario specificato.
Ad esempio, due app video e audio (come la riproduzione di file locali/NAS) applicazioni) devono attivare la trasmissione su dispositivi di solo audio per supportare la riproduzione di file audio, ma l'app non deve consentire all'utente di inviare file video al dispositivo di solo audio. L'app può utilizzare API dispositivo per i mittenti descritti di seguito per stabilire i contenuti appropriati per il dispositivo.
Per supportare Google Cast audio, l'app deve:
Supporta solo l'audio: streaming di musica e file audio, radio e così via. lo stream video all'app WebRicevitore non deve essere uno stream video. Inoltre, evita di grafiche e immagini in streaming per migliorare i tempi di avvio dell'applicazione e utilizzo della memoria. Vedi le linee guida per l'utilizzo della memoria di seguito.
Funziona come previsto su un dispositivo Cast for Audio e su un normale Chromecast.
Funzionalità del dispositivo
La tua app può sapere se è in esecuzione su un dispositivo di solo audio grazie alla API per funzionalità del dispositivo, disponibili dal dispositivo stesso o tramite il mittente o le API di destinazione.
Intestazione HTTP del dispositivo
L'intestazione HTTP CAST-DEVICE-CAPABILITIES
fornita dal dispositivo di trasmissione durante
di avvio dell'applicazione vengono descritte le funzionalità del dispositivo. Il dispositivo invia una richiesta
con questa intestazione al server che ospita l'app Web receiver. L'intestazione di un
dispositivo solo audio descrive le funzionalità del dispositivo con
CAST-DEVICE-CAPABILITIES: {"display_supported":false}
.
Quando il tuo server riceve la richiesta dal dispositivo, puoi utilizzare le informazioni in questa intestazione per reindirizzare la richiesta all'app WebRicevitore, è ottimizzato per i dispositivi audio.
API Web receiver
Puoi ottenere lo stesso oggetto funzionalità del dispositivo chiamando CastReceiverManager.getDeviceCapabilities()
quando viene caricata l'app WebRicevitore.
Per ulteriori informazioni, consulta Funzionalità del dispositivo informazioni.
API Sender
Ognuna delle API del mittente di trasmissione include anche informazioni sulle funzionalità del dispositivo. In questo modo, l'app del mittente può stabilire quale tipo di contenuti multimediali inviare al destinatario. Se la tua app supporta sia audio che video, può evitare di inviare contenuti video a dispositivi di solo audio. Inoltre, l'app può controllare il volume utilizzando il metodo più appropriato per il dispositivo, come descritto nell'elenco di controllo del design. Vedi le seguenti API relative alle funzionalità del dispositivo per i mittenti:
- Android: CastDevice.hasCapabilities
- iOS: deviceCapabilities
- Chrome: chrome.cast.Capability
Linee guida per l'utilizzo della memoria
Le app Web Ricevitore in esecuzione su dispositivi audio devono gestire l'utilizzo della memoria nel modo seguente:
- Evita di scaricare o utilizzare immagini o risorse grafiche per ridurre la memoria. e ridurre il tempo che deve trascorrere prima dell'avvio della riproduzione.
- Quando si utilizzano Media Source Extensions (MSE), le applicazioni devono limitare il flusso con un buffer di 2 MB. Se utilizzi la libreria Media Player Library (MPL), il parametro la dimensione del buffer di streaming è già definita dall'MPL.
- Quando utilizzi HTMLMediaElement, la dimensione del buffer di flusso dell'applicazione è definita da Chrome in base alla frequenza di streaming. Limitare la velocità in bit audio a 2 megabit per secondo, che supporta tutti i codec descritti in Contenuti multimediali supportati (fino a 48 KHz/16 bit).
Controllo del volume
Per la maggior parte dei dispositivi Google Cast per audio, l'applicazione del mittente controlla la l'intera gamma di volume di un dispositivo, non solo il volume di ingresso della sorgente audio, come con una Chromecast. Ciò significa che gli incrementi di variazione del volume devono essere minori per le applicazioni in modalità solo audio. Consulta i seguenti documenti per linee guida su come fornire regolare il volume nell'app:
- Controlli del volume dei mittenti nel Elenco di controllo per la progettazione
- Volume mittente Android
- Volume mittente iOS
- Volume web mittente
Controllo dei dispositivi
Google Cast per i dispositivi audio potrebbe avere i propri controlli di riproduzione (ad esempio,
tasti, telecomandi). Utilizzano i messaggi relativi alla riproduzione di contenuti multimediali definiti per
urn:x-cast:com.google.cast.media
, come descritto in
Messaggi relativi alla riproduzione di contenuti multimediali per controllare la riproduzione
sull'applicazione ricevente. L'applicazione ricevente deve supportare
questi messaggi relativi alla riproduzione di contenuti multimediali per supportare i controlli di riproduzione del dispositivo.
Inoltre, l'app del mittente deve supportare lo standard Messaggi dal destinatario al mittente. in modo che se l'utente cambia lo stato dei contenuti multimediali con i controlli dei dispositivi, l'app del mittente può ricevere un messaggio di stato dal destinatario e aggiornare l'UI di conseguenza.
Display del dispositivo
Un dispositivo Google Cast per audio potrebbe avere uno schermo LCD sul dispositivo o un'applicazione di controllo specifica del dispositivo che visualizza i metadati multimediali. Il destinatario l'app deve fornire questi metadati per tutte le tracce audio e assicurarsi che siano sincronizzati con i contenuti attualmente in riproduzione per garantire la visualizzazione dei metadati correttamente sul display. Se l'applicazione usa metadati personalizzati, ma deve fornire anche i metadati audio standard (nome della traccia, nome dell'artista, titolo e così via) come descritto di seguito per ciascuna piattaforma.
Il destinatario riceve i metadati dal mittente quando carica i contenuti multimediali. Nella l'app del mittente, con il comando per caricare i contenuti multimediali sul destinatario, devi specificare i campi descritti di seguito in modo che i metadati vengano visualizzati Google Cast per il dispositivo audio. Utilizza le seguenti API:
Android
MediaMetadata
conMEDIA_TYPE_MUSIC_TRACK
e:iOS
GCKMediaMetadata
conGCKMediaMetadataType
GCKMediaMetadataTypeMusicTrack
e:Chrome
MediaInfo
conMusicTrackMediaMetadata
e:
Se l'app Google Cast gestisce una coda di contenuti multimediali sul ricevitore o nel cloud,
Web Ricevitore deve trasmettere eventuali aggiornamenti di stato dei contenuti multimediali utilizzando il
urn:x-cast:com.google.cast.media
in modo che tutti i mittenti siano
sincronizzati.
Registrazione
Devi registrare il tuo dispositivo Google Cast per l'audio per il test e la registrazione la tua app per supportare Google Cast per i dispositivi audio, utilizzando Console per gli sviluppatori dell'SDK Google Cast.
- Per ulteriori informazioni, fai riferimento a Dispositivi. sulla registrazione dei dispositivi.
- Devi selezionare la casella di controllo Supporta la trasmissione a dispositivi di solo audio quando registrazione della tua applicazione per consentire all'app di rilevare Google Cast per dispositivi audio. Vedi Registrare l'applicazione.
Per le app non pubblicate, ad esempio quelle utilizzate per i test, devi selezionare anche il campo per supportare i dispositivi di solo audio affinché l'app possa rilevare dispositivi di solo audio.
Google Cast per audio 2.0
Google Cast for Audio (GC4A) 2.0 è la piattaforma audio Cast di nuova generazione. progettata per scegliere come target i dispositivi con poca memoria ed espandere l'ecosistema di dispositivi che possono riprodurre in streaming i tuoi contenuti. Poiché GC4A 2.0 ha come target le piattaforme audio, l'API web è ridotto per allinearlo ai dispositivi senza display. GC4A 2.0 verrà implementato nei nuovi e speaker esistenti che supportano la trasmissione.
Test e debug
Poiché tutti gli altoparlanti supportati passeranno alla versione GC4A 2.0, è importante che gli sviluppatori di app audio testano le loro app su GC4A 2.0. Puoi testare l'app Cast per GC4A 2.0 su altoparlanti Wi-Fi Bose, JBL Charge 5 Wi-Fi, JBL Authentics, Cambridge Audio, Teuful Motiv Home, soundbar LG 2024.
GC4A 2.0 non supporta Chrome Remote Debugger. Se vuoi eseguire il debug Google consiglia di utilizzare Cast Debug Logger.
Scenari di test di base consigliati
È consigliabile testare tutte le funzionalità dell'app su GC4A 2.0. Assicurati di includere eseguire test per riprodurre tutti i tipi di contenuti multimediali (podcast, stream e così via), mettere in pausa, eseguire lo scrubbing saltare, cambiare playlist, interrompere e ricollegare la trasmissione.
API supportate
GC4A 2.0 supporta le seguenti API:
- HTML
- ECMA JavaScript 6
- DOMParser
- XMLSerializer
- Documento e sottoclassi
- DocumentFragment
- HTMLMediaElement e HTMLAudioElement
- HTMLVideoElement (può riprodurre solo contenuti audio)
- HTMLScriptElement
- HTMLBaseElement
- HTMLTemplateElement
- Elementi personalizzati
- DOM shadow
- Moduli script / asinc / rinviati
- Recupero / XHR
- WebSocket
- MessagePort
- Cookie
- MSE (Media Source Extensions)
- EME (Encrypted Media Extensions)
- Spazio di archiviazione locale / di sessione
GC4A 2.0 non supporta:
- Importazione dinamica di moduli (da aggiungere nel 2024)
- CSS
- IFrame
- TextTracks
Contatto
Contatta gc4a-support-external@google.com se hai bisogno di assistenza per la configurazione per i test o non riesci a usare uno speaker Bose.