Appareils audio

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 tirer parti de l'utilisation réduite de la mémoire, du processeur et de la bande passante réseau.

Une application compatible avec Google Cast pour l'audio doit tenir compte des éléments suivants:

  • Les appareils Google Cast pour l'audio n'affichent aucun contenu vidéo ni graphique. Cependant, de nombreux appareils audio disposent d'un écran pour afficher des métadonnées, telles que l'état de la lecture (lecture ou mise en pause) et la progression. Votre application ne doit pas afficher ces informations utilisateur essentielles uniquement sur le destinataire. Les informations essentielles, ainsi que la majeure partie de l'interface utilisateur, doivent être affichées sur l'expéditeur.
  • Pour que les applications Web Receiver fonctionnent correctement, les appareils Google Cast pour l'audio doivent toujours afficher les graphiques, même si ceux-ci ne sont pas affichés. Étant donné que les appareils ne sont pas toujours compatibles avec les opérations graphiques avec accélération matérielle, les applications réceptrices doivent éviter les opérations nécessitant d'importantes ressources graphiques, telles que les dégradés de couleurs, la rotation, le mélange alpha et le redessin d'objets volumineux tels que des barres de progression plus d'une fois par seconde.
  • Google Cast pour les appareils audio n'est compatible qu'avec le contenu protégé par DRM (Digital Rights Management, gestion des droits numériques) de Widevine.
  • Pour la plupart des appareils audio Google Cast, l'application émettrice contrôle toute la plage de volume de l'appareil (un haut-parleur, par exemple), et pas seulement le volume de la source audio d'entrée du téléviseur, comme avec un appareil Chromecast.
  • En plus de contrôler la lecture avec l'appareil émetteur (un téléphone, par exemple), l'application peut avoir besoin de contrôler la lecture à l'aide des manettes de l'appareil, telles qu'une télécommande, des boutons sur l'appareil ou une application à distance externe.
  • Un appareil Google Cast pour audio peut être compatible avec l'affichage de métadonnées de contenu sur 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é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 à s'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 à la fois audio et vidéo. Elle doit savoir quand elle est diffusée vers 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 de double audio et vidéo (telles que les applications de lecture de fichiers locales/NAS) doivent permettre la diffusion sur des appareils audio uniquement afin de prendre en charge la lecture de fichiers audio, mais elles ne doivent pas permettre à l'utilisateur d'envoyer des fichiers vidéo à l'appareil audio uniquement. L'application peut utiliser les API des fonctionnalités de l'appareil pour les expéditeurs décrites ci-dessous pour déterminer le contenu adapté à l'appareil.

Pour être compatible avec Google Cast pour l'audio, votre application doit respecter les conditions suivantes:

  • Compatibilité 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 en streaming 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 pour audio et sur un Chromecast standard.

Fonctionnalités de l'appareil

Grâce aux API des fonctionnalités de l'appareil, disponibles sur l'appareil lui-même ou via les API émetteurs ou récepteurs, votre application peut savoir si elle s'exécute sur un appareil audio uniquement.

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 le 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 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 Sender

Chacune des API émettrices Cast contient également des informations sur les fonctionnalités de l'appareil. Ils permettent à l'application émettrice 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 aux appareils audio uniquement. Votre application peut également 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 relatives aux fonctionnalités de l'appareil pour les expéditeurs:

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 images ou des éléments graphiques pour réduire l'encombrement de la mémoire et raccourcir le délai de lecture.
  • Lorsque vous utilisez des extensions Media Source (MSE), les applications doivent limiter la mémoire tampon du flux à 2 Mo. Si vous utilisez la bibliothèque du lecteur multimédia (MPL), la taille de la mémoire tampon du flux de l'application est déjà définie par MPL.
  • Lorsque vous utilisez HTMLMediaElement, la taille de la mémoire tampon du 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 pour être compatible avec tous les codecs décrits dans la section Supports compatibles (jusqu'à 48 kHz/16 bits).

Contrôle du volume

Pour la plupart des appareils audio Google Cast, l'application émettrice contrôle toute la plage de volume de l'appareil, et pas seulement le volume d'entrée de la source audio, comme avec un Chromecast. Cela signifie que les incréments de réglage du volume doivent être plus petits pour les applications audio uniquement. Consultez les documents suivants pour obtenir des instructions sur le contrôle du volume dans votre application:

Commandes de contrôle des appareils

Google Cast pour les appareils audio peut disposer de ses propres commandes de lecture (boutons, télécommandes, par exemple). 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 multimédia, pour contrôler la lecture sur l'application récepteur. Votre application réceptrice doit être compatible avec ces messages de lecture multimédia pour être compatible avec les commandes de lecture de l'appareil.

En outre, votre application émettrice doit prendre en charge les messages du destinataire à l'expéditeur. Ainsi, si l'utilisateur modifie l'état du contenu multimédia à l'aide des commandes de l'appareil, elle peut recevoir un message d'état du destinataire et mettre à jour l'interface utilisateur en conséquence.

Écran de l'appareil

Un appareil Google Cast pour audio peut être doté d'un écran LCD ou d'une application de commande spécifique à l'appareil qui affiche des métadonnées multimédias. Votre application de réception 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 de la piste, 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 lors du chargement des contenus multimédias. Dans l'application émettrice, dans la commande permettant de charger les contenus multimédias 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 pour audio. Utilisez les API suivantes:

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 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 tests et enregistrer votre application pour la compatibilité avec Google Cast pour les appareils audio, à l'aide de la console du développeur du SDK Google Cast.

  • Pour plus d'informations sur l'enregistrement des appareils, consultez la section Appareils.
  • Vous devez cocher la case Compatible avec les appareils audio uniquement lors de l'enregistrement de votre application pour qu'elle puisse détecter Google Cast pour les appareils audio. Consultez la section 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 de prendre en charge les appareils audio uniquement afin qu'elles puissent détecter ces appareils.

Google Cast pour l'audio 2.0

Google Cast for Audio (GC4A) 2.0 est la plate-forme Cast de nouvelle génération conçue pour cibler les appareils à faible mémoire et élargir l'écosystème d'appareils pouvant diffuser votre contenu en streaming.

Il est important que les développeurs d'applications audio testent leurs applications sur GC4A 2.0. Vous pouvez tester votre application Cast pour le 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 configurer votre test ou si vous ne parvenez pas à utiliser un haut-parleur Bose. Si vous souhaitez déboguer votre application, Google vous recommande d'utiliser l'enregistreur de débogage Cast.