Google Cast pour les appareils audio n'est compatible qu'avec la lecture audio. Ce guide explique comment optimiser les applications Cast pour les appareils audio uniquement et tirer parti de la réduction des exigences en termes de mémoire, de processeur et d'utilisation de la bande passante réseau.
Une application compatible avec Google Cast pour l'audio doit prendre en compte les points suivants:
- Google Cast pour les appareils audio n'affiche pas de vidéo ni de graphiques. Cependant, de nombreux appareils audio disposent d'un écran pour afficher les métadonnées, telles que l'état de la lecture (en cours ou en pause) et la progression. Votre application ne doit pas afficher ces informations utilisateur critiques uniquement sur le destinataire. Les informations critiques et la majeure partie de l'interface utilisateur doivent être affichées sur l'expéditeur.
- Pour exécuter correctement les applications Web Receiver, Google Cast pour les appareils audio doit toujours afficher des éléments graphiques, même s'ils ne sont pas affichés. Étant donné que les appareils ne sont pas forcément compatibles avec les opérations graphiques accélérées par matériel, les applications réceptrices doivent éviter d'utiliser des opérations graphiques intensives telles que les dégradés de couleur, la rotation, le mélange alpha et le redessin de grands objets tels que les barres de progression plus d'une fois par seconde.
- Google Cast pour les appareils audio n'est compatible qu'avec Widevine pour les contenus protégés par DRM (Digital Rights Management).
- Pour la plupart des appareils audio Google Cast, l'application d'envoi contrôle la plage de volume complète de l'appareil (une enceinte, par exemple), et non seulement le volume de l'entrée de la source audio sur le téléviseur, comme avec un appareil Chromecast.
- En plus de contrôler la lecture avec l'appareil d'envoi (un téléphone, par exemple), l'application peut devoir permettre de contrôler la lecture avec les propres commandes de l'appareil, telles qu'une télécommande, des boutons sur l'appareil ou une application de télécommande externe.
- Un appareil audio Google Cast peut afficher les métadonnées de contenu à l'aide d'un petit écran LCD, d'une sortie HDMI (pour les barres de son ou les récepteurs audio-vidéo) ou d'une application de télécommande externe, en fonction de l'interface utilisateur de l'appareil spécifique.
Développement
La première étape du développement d'une application Cast compatible avec Google Cast pour l'audio consiste à développer une application Cast pour l'audio-vidéo et à vous assurer qu'elle s'exécute sur un Chromecast. Ce document suppose que vous avez développé et testé une telle application.
Une application peut être compatible avec les appareils audio et vidéo, ainsi qu'avec les appareils audio uniquement. Il doit savoir quand il diffuse du contenu sur l'un ou l'autre et prendre des mesures pour garantir la meilleure expérience utilisateur dans le scénario donné.
Par exemple, les applications audio et vidéo duales (telles que les applications de lecture de fichiers locaux/NAS) doivent permettre le cast sur des appareils audio uniquement afin de prendre en charge la lecture de fichiers audio, mais l'application ne doit pas autoriser l'utilisateur à envoyer des fichiers vidéo à l'appareil audio uniquement. L'application peut utiliser les API de fonctionnalités de l'appareil pour les expéditeurs décrites ci-dessous pour déterminer le contenu adapté à l'appareil.
Pour prendre en charge Google Cast pour l'audio, votre application doit respecter les conditions suivantes:
Prise en charge du streaming audio uniquement: musique et fichiers audio en streaming, radio, etc. Le contenu multimédia diffusé dans l'application Web Receiver ne doit pas être un flux vidéo. Évitez également de diffuser des graphiques et des images pour améliorer le temps de lancement de l'application et l'utilisation de la mémoire. Consultez les consignes d'utilisation de la mémoire ci-dessous.
Fonctionne comme prévu sur un appareil Cast for Audio et un Chromecast standard.
Fonctionnalités de l'appareil
Votre application peut savoir si elle s'exécute sur un appareil audio uniquement grâce aux API de fonctionnalités de l'appareil, disponibles sur l'appareil lui-même ou via les API de l'expéditeur ou du récepteur.
En-tête HTTP de l'appareil
L'en-tête HTTP CAST-DEVICE-CAPABILITIES
fourni par l'appareil Cast lors du lancement de l'application décrit les fonctionnalités de l'appareil. L'appareil envoie une requête avec cet en-tête au serveur hébergeant l'application Web Receiver. L'en-tête d'un appareil audio uniquement décrit les fonctionnalités de l'appareil avec CAST-DEVICE-CAPABILITIES: {"display_supported":false}
.
Lorsque votre serveur reçoit la requête de l'appareil, vous pouvez utiliser les informations de cet en-tête pour rediriger la requête vers l'application Web Receiver, qui est optimisée pour les appareils audio.
API Web Receiver
Vous pouvez obtenir le même objet de fonctionnalités de l'appareil en appelant CastReceiverManager.getDeviceCapabilities()
lorsque l'application Web Receiver est chargée.
Pour en savoir plus, consultez la section Fonctionnalités de l'appareil.
API d'expéditeur
Chacune des API d'envoi Cast contient également des informations sur les fonctionnalités de l'appareil. Ils permettent à votre application d'expéditeur de déterminer le type de contenu multimédia à envoyer au destinataire. Si votre application est compatible avec l'audio et la vidéo, elle peut éviter d'envoyer du contenu vidéo à des appareils audio uniquement. De plus, votre application peut contrôler le volume à l'aide de la méthode la plus adaptée à l'appareil, comme décrit dans la checklist de conception. Consultez les API de fonctionnalités de l'appareil suivantes pour les expéditeurs:
- Android: CastDevice.hasCapabilities
- iOS: deviceCapabilities
- Chrome: chrome.cast.Capability
Consignes d'utilisation de la mémoire
Les applications Web Receiver exécutées sur des appareils audio doivent gérer l'utilisation de la mémoire comme suit:
- Évitez de télécharger ou d'utiliser des éléments image ou graphiques pour réduire l'espace mémoire et réduire le temps d'attente avant le début de la lecture.
- Lorsque vous utilisez des extensions de source multimédia (MSE), les applications doivent limiter la mémoire tampon de flux à 2 Mo. Si vous utilisez la bibliothèque Media Player (MPL), la taille de la mémoire tampon de flux de l'application est déjà définie par MPL.
- Lorsque vous utilisez HTMLMediaElement, la taille de tampon de flux de l'application est définie par Chrome en fonction du débit de flux. Limitez le débit audio à 2 mégabits par seconde, ce qui est compatible avec tous les codecs décrits dans la section Médias compatibles (jusqu'à 48 kHz/16 bits).
Réglage du volume
Pour la plupart des appareils audio Google Cast, l'application d'envoi contrôle la plage de volume complète de l'appareil, et non seulement le volume d'entrée de la source audio, comme avec un appareil Chromecast. Cela signifie que les incréments de modification du volume doivent être plus faibles pour les applications audio uniquement. Pour obtenir des conseils sur la fourniture d'une commande de volume dans votre application, consultez les documents suivants:
- Commandes de volume de l'expéditeur dans la checklist de conception
- Volume de l'expéditeur Android
- Volume de l'expéditeur iOS
- Volume d'expéditeurs Web
Commandes des appareils
Google Cast pour les appareils audio peut avoir ses propres commandes de lecture (boutons, télécommandes, etc.). Ils utilisent les messages de lecture multimédia définis pour l'espace de noms urn:x-cast:com.google.cast.media
, comme décrit dans la section Messages de lecture multimédia, pour contrôler la lecture sur l'application réceptrice. Votre application réceptrice doit prendre en charge ces messages de lecture multimédia pour prendre en charge les commandes de lecture de l'appareil.
De plus, votre application d'envoi doit prendre en charge les messages du destinataire à l'expéditeur afin que, si l'utilisateur modifie l'état des contenus multimédias à l'aide des commandes de l'appareil, votre application d'envoi puisse recevoir un message d'état du destinataire et mettre à jour l'UI en conséquence.
Écran de l'appareil
Un appareil Google Cast pour l'audio peut être doté d'un écran LCD ou d'une application de contrôle spécifique à l'appareil qui affiche les métadonnées multimédias. Votre application de récepteur doit fournir ces métadonnées pour toutes les pistes audio et s'assurer qu'elles sont synchronisées avec le contenu en cours de lecture pour que les métadonnées s'affichent correctement à l'écran. Si l'application utilise des métadonnées personnalisées, elle doit également fournir les métadonnées audio standards (nom du titre, nom de l'artiste, titre de l'album, etc.) comme décrit pour chaque plate-forme ci-dessous.
Le récepteur obtient les métadonnées de l'expéditeur lorsqu'il charge le contenu multimédia. Dans votre application d'envoi, avec la commande de chargement du contenu multimédia sur le récepteur, vous devez spécifier les champs décrits ci-dessous pour que les métadonnées s'affichent sur l'appareil audio Google Cast. Utilisez les API suivantes:
Android
MediaMetadata
avecMEDIA_TYPE_MUSIC_TRACK
et:iOS
GCKMediaMetadata
avecGCKMediaMetadataType
GCKMediaMetadataTypeMusicTrack
et:Chrome
MediaInfo
avecMusicTrackMediaMetadata
et:
Si l'application Cast gère une file d'attente multimédia sur le récepteur ou dans le cloud, le récepteur Web doit diffuser toutes les mises à jour de l'état multimédia à l'aide de l'espace de noms urn:x-cast:com.google.cast.media
afin que tous les émetteurs soient synchronisés.
Inscription
Vous devez enregistrer votre appareil Google Cast pour les appareils audio à des fins de test et enregistrer votre application pour qu'elle prenne en charge Google Cast pour les appareils audio à l'aide de la console développeur du SDK Google Cast.
- Pour en savoir plus sur l'inscription d'appareils, consultez la section Appareils.
- Vous devez cocher la case Prend en charge la diffusion sur des appareils audio uniquement lorsque vous enregistrez votre application pour lui permettre de détecter Google Cast pour les appareils audio. Consultez Enregistrer votre application.
Pour les applications non publiées, telles que celles utilisées pour les tests, vous devez également sélectionner l'option permettant de prendre en charge les appareils audio uniquement afin que l'application puisse les détecter.
Google Cast for Audio 2.0
Google Cast for Audio (GC4A) 2.0 est la plate-forme audio Cast de nouvelle génération conçue pour cibler les appareils à faible mémoire afin d'élargir l'écosystème d'appareils pouvant diffuser vos contenus en streaming. Étant donné que GC4A 2.0 cible les plates-formes audio, l'ensemble d'API Web est réduit pour s'adapter aux appareils sans écran. GC4A 2.0 est déployé sur les enceintes nouvelles et existantes compatibles avec la diffusion.
Tester et déboguer
Comme toutes les enceintes compatibles passeront à GC4A 2.0, il est important que les développeurs d'applications audio testent leurs applications sur GC4A 2.0. Vous pouvez tester votre application Cast pour GC4A 2.0 sur n'importe quel appareil GC4A 2.0 listé ici.
GC4A 2.0 n'est pas compatible avec le débogueur à distance Chrome. Si vous souhaitez déboguer votre application, Google vous recommande d'utiliser le journal de débogage Cast.
Appareils GC4A 2.0 disponibles
Voici une liste non exhaustive des appareils GC4A 2.0:
- Bose: enceintes Wi-Fi et barres de son intelligentes
- JBL: Charge 5 Wi-Fi / Boombox 3 Wi-Fi / Authentics 200, 300 et 500
- Samsung: Music Frame / Barres de son
- LG: barres de son S90TY/SG10TY/SE70Q/S80Q/S90Q
- Bang &Olufsen Beosound 2 / Beocore Connect
- Sonoro Maestro 2 / Meisterstruck 2
- Cambridge Audio MXN10
- KEF LS60 / LSX II
- Teufel Motiv Home
- Nordic Argon Audio
- WiiM CI MOD S / Ultra
Scénarios de test de base recommandés
Nous vous recommandons de tester toutes les fonctionnalités de l'application sur GC4A 2.0. Veillez à tester la lecture de tous les types de contenus multimédias (podcasts, flux, etc.), la mise en pause, le retour en arrière, le saut, la modification des playlists, l'arrêt et la reconnexion de Cast.
API compatibles
GC4A 2.0 est compatible avec les API suivantes:
- HTML
- JavaScript ECMA 6
- DOMParser
- XMLSerializer
- Document et sous-classes
- DocumentFragment
- HTMLMediaElement et HTMLAudioElement
- HTMLVideoElement (ne peut lire que du contenu audio)
- HTMLScriptElement
- HTMLBaseElement
- HTMLTemplateElement
- Éléments personnalisés
- Shadow DOM
- Modules de script / asynchrone / différé
- Fetch / XHR
- WebSocket
- MessagePort
- Cookies
- MSE (Media Source Extensions)
- EME (Encrypted Media Extensions)
- Stockage local / de session
GC4A 2.0 n'est pas compatible avec les éléments suivants:
- Importation de modules dynamiques (à ajouter en 2024)
- CSS
- IFrame
- TextTracks
Contact
Veuillez contacter gc4a-support-external@google.com si vous avez besoin d'aide pour configurer les tests ou si vous ne parvenez pas à utiliser une enceinte Bose.