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 comment réduire l'utilisation de la mémoire, du processeur et de la bande passante réseau.
Une application compatible avec Google Cast for audio doit prendre en compte les éléments suivants:
- Google Cast pour les appareils audio n'affiche pas de vidéo ni d'image. Cependant, de nombreux appareils audio disposent d'un écran permettant d'afficher des métadonnées, telles que l'état de la lecture (en lecture ou en pause) et la progression. Votre application ne doit pas afficher ces informations utilisateur critiques uniquement sur le récepteur. Ces informations, ainsi que la majeure partie de l'interface utilisateur, doivent être affichées sur l'expéditeur.
- Pour exécuter correctement les applications réceptrices Web, Google Cast pour les appareils audio doit toujours afficher les graphismes, même s'ils ne sont pas affichés. Étant donné que les appareils peuvent ne pas être compatibles avec les opérations graphiques à accélération matérielle, les applications réceptrices doivent éviter d'utiliser des opérations nécessitant une grande quantité de ressources graphiques, telles que les dégradés de couleurs, la rotation, la combinaison alpha et le dessin de grands objets tels que des barres de progression plusieurs fois par seconde.
- Google Cast pour les appareils audio n'est compatible qu'avec le contenu protégé par Widevine for Digital Rights Management (DRM).
- Pour la plupart des appareils Google Cast pour les appareils audio, l'application émettrice contrôle le volume total de l'appareil (une enceinte, par exemple), et pas uniquement le volume de la source audio saisie sur le téléviseur, comme c'est le cas avec un Chromecast.
- En plus de contrôler la lecture avec l'appareil expéditeur (un téléphone, par exemple), l'application peut être amenée à fournir un moyen de contrôle de la lecture avec les propres manettes de l'appareil, telles qu'une télécommande, des boutons sur l'appareil ou une application externe.
- Un appareil Google Cast pour l'audio peut prendre en charge l'affichage des métadonnées de contenu avec un petit écran LCD, une sortie HDMI (pour les barres de son ou les récepteurs audio/vidéo) ou une application à distance externe, en fonction de l'interface utilisateur de l'appareil.
d'applis
La première étape du développement d'une application Cast compatible avec Google Cast for audio consiste à développer une application Cast pour les contenus audio et vidéo, et de vous assurer qu'elle s'exécute sur un Chromecast. Dans ce document, nous partons du principe que vous avez développé et testé une telle application.
Une application peut être compatible avec les appareils audio et vidéo uniquement. Elle doit savoir quand elle caste l'un et l'autre, et prendre les mesures nécessaires pour garantir la meilleure expérience utilisateur possible dans ce scénario.
Par exemple, les applications audio et vidéo doubles (telles que les applications de lecture de fichiers locaux/NAS) doivent permettre la diffusion sur des appareils audio uniquement afin de permettre la lecture de fichiers audio, mais l'application ne doit pas permettre à l'utilisateur d'envoyer des fichiers vidéo à l'appareil audio uniquement. L'application peut utiliser les API de fonctionnalités d'appareils pour les expéditeurs décrites ci-dessous pour déterminer le contenu adapté à l'appareil.
Pour que vous puissiez utiliser Google Cast audio, votre application doit:
Compatibilité audio uniquement: diffuser de la musique et des fichiers audio, radio, etc. Le contenu multimédia diffusé en streaming dans l'application Web Receiver ne doit pas être un flux vidéo. Évitez également la diffusion de graphiques et d'images afin d'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 pour les appareils 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 d'envoi ou de réception.
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 qui héberge 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 la rediriger vers l'application Web Receiver, qui est optimisée pour les appareils audio.
API Web Receiver
Vous pouvez obtenir le même objet de capacité d'appareil en appelant CastReceiverManager.getDeviceCapabilities()
lorsque l'application Web Receiver est chargée.
Pour en savoir plus, consultez Fonctionnalités de l'appareil.
API Sender
Chacune de ces API dispose également des informations sur les fonctionnalités de l'appareil. Ces paramètres permettent à l'application émettrice de déterminer le type de contenu à envoyer au récepteur. Si votre application est compatible avec l'audio et la vidéo, elle peut éviter d'envoyer du contenu vidéo aux appareils audio uniquement. En outre, 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 suivantes pour les expéditeurs de contenus sur les appareils:
- Android: CastDevice.hasFeatures
- iOS: deviceFeatures
- Chrome : chrome.cast.Capability
Consignes d'utilisation de la mémoire
Les applications Récepteurs Web 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, afin de réduire l'encombrement de la mémoire et de raccourcir le délai avant le début de la lecture.
- Lorsqu'elles utilisent des extensions de source multimédia (MSE), les applications doivent limiter la taille du tampon du flux à 2 Mo. Si vous utilisez la bibliothèque Media Player (MPL), la taille du tampon de flux de l'application est déjà définie par MPL.
- Lorsque vous utilisez HTMLMediaElement, la taille du tampon de flux de l'application est définie par Chrome en fonction du débit du flux. Limitez le débit audio à 2 mégabits par seconde, c'est-à-dire tous les codecs décrits dans la section Médias compatibles (jusqu'à 48 kHz/16 bits).
Contrôle du volume
Pour la plupart des appareils Google Cast pour les appareils audio, l'application émettrice contrôle le volume total de l'appareil, pas seulement le volume d'entrée de la source audio, comme pour un Chromecast. Cela signifie que les incréments de modification du volume doivent être plus petits pour les applications audio uniquement. Consultez les documents suivants pour obtenir des consignes sur le contrôle du volume dans votre application:
- Contrôle du volume d'expéditeur dans la checklist pour la conception
- Volume d'expéditeurs Android
- Volume d'expéditeurs iOS
- Volume d'expéditeurs Web
Commandes de contrôle des appareils
Google Cast pour les appareils audio peut disposer de ses propres commandes de lecture (boutons, télécommandes, etc.). Ils utilisent les messages de lecture de contenus multimédias définis pour l'espace de noms urn:x-cast:com.google.cast.media
, comme décrit dans la section Messages de lecture de contenus multimédias, afin de contrôler la lecture sur l'application destinataire. Votre application de récepteur doit prendre en charge ces messages pour lire les commandes de lecture de l'appareil.
En outre, l'application expéditeur doit accepter les messages envoyés par le destinataire à l'expéditeur. Ainsi, si l'utilisateur modifie l'état du contenu multimédia à l'aide des commandes de l'appareil, l'application émettrice peut recevoir un message d'état de la part du destinataire et mettre à jour l'interface utilisateur en conséquence.
Affichage de l'appareil
Un appareil Google Cast pour les appareils audio peut disposer 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 réceptrice 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 ci-dessous pour chaque plate-forme.
Le destinataire obtient les métadonnées de l'expéditeur lors du chargement du contenu multimédia. Dans l'application émettrice, à l'aide de la commande permettant de charger le contenu multimédia sur le récepteur, vous devez spécifier les champs décrits ci-dessous afin que les métadonnées s'affichent sur l'appareil Google Cast for audio. 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 toute mise à jour de l'état du contenu multimédia à l'aide de l'espace de noms urn:x-cast:com.google.cast.media
afin que tous les expéditeurs soient synchronisés.
Inscription
Vous devez enregistrer votre appareil Google Cast pour les appareils audio à des fins de test et enregistrer votre application compatible avec Google Cast pour les appareils audio à l'aide de la console développeur du SDK Google Cast.
- Consultez la section Appareils pour en savoir plus sur l'enregistrement d'appareils.
- Vous devez cocher la case Compatible avec la diffusion de contenu sur des appareils audio uniquement lors de l'enregistrement de 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 à des fins de test, vous devez également sélectionner l'option permettant la compatibilité avec les appareils audio uniquement.
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 votre contenu.
Il est important que les développeurs d'applications audio testent leurs applications sur GC4A 2.0. Vous pouvez tester l'application Cast pour GC4A 2.0 sur une enceinte Bose de production (par exemple, l'enceinte intelligente Bose 500).
Veuillez contacter gc4a-support-external@google.com si vous avez besoin d'aide pour la configuration, ou si vous ne parvenez pas à utiliser une enceinte Bose. Si vous souhaitez déboguer votre application, Google vous recommande d'utiliser Cast Debug Logging.