Audiogeräte

Google Cast für Audiogeräte unterstützt nur die Audiowiedergabe. In diesem Leitfaden wird beschrieben, wie Sie Streaming-Anwendungen für Geräte mit reiner Audiowiedergabe optimieren und die geringeren Anforderungen an Arbeitsspeicher, CPU und Netzwerkbandbreite nutzen können.

Bei einer App, die Google Cast für Audio unterstützt, müssen die folgenden Punkte berücksichtigt werden:

  • Auf Audiogeräten mit Google Cast werden keine Videos oder Grafiken angezeigt. Viele Audiogeräte haben jedoch ein Display, auf dem Metadaten wie der Wiedergabestatus (Wiedergabe oder Pause) und der Fortschritt angezeigt werden. Solche wichtigen Nutzerinformationen dürfen in Ihrer App nicht nur für den Empfänger angezeigt werden. Wichtige Informationen und der Großteil der Benutzeroberfläche müssen für den Absender sichtbar sein.
  • Damit Webreceiver-Anwendungen richtig ausgeführt werden können, muss Google Cast für Audiogeräte weiterhin Grafiken rendern, auch wenn sie nicht angezeigt werden. Da Geräte möglicherweise keine hardwarebeschleunigten Grafikvorgänge unterstützen, sollten Empfängeranwendungen grafikintensive Vorgänge wie Farbverläufe, Drehung, Alpha-Mischung und das mehrmalige Zeichnen großer Objekte wie Fortschrittsbalken pro Sekunde vermeiden.
  • Google Cast für Audiogeräte unterstützt nur Inhalte, die mit Widevine für die digitale Rechteverwaltung (Digital Rights Management, DRM) geschützt sind.
  • Bei den meisten Google Cast-Audiogeräten steuert die Senderanwendung den gesamten Lautstärkebereich des Geräts (z. B. eines Lautsprechers) und nicht nur die Lautstärke der Audioquelle, die an den Fernseher angeschlossen ist, wie bei einem Chromecast-Gerät.
  • Neben der Wiedergabesteuerung über das Sendergerät (z. B. ein Smartphone) muss die App möglicherweise auch die Wiedergabe über die eigenen Steuerelemente des Geräts wie eine Fernbedienung, die Tasten auf dem Gerät oder eine externe Remote-Anwendung ermöglichen.
  • Je nach Geräte-UI kann ein Google Cast für Audiogerät Inhaltsmetadaten auf einem kleinen LCD-Bildschirm, über einen HDMI-Ausgang (für Soundbars oder Audio-/Video-Receiver) oder über eine externe Fernbedienung anzeigen.

Entwicklung

Der erste Schritt bei der Entwicklung einer Cast-Anwendung, die Google Cast für Audio unterstützt, besteht darin, eine Cast-Anwendung für Audio-Video zu entwickeln und dafür zu sorgen, dass sie auf einem Chromecast ausgeführt wird. In diesem Dokument wird davon ausgegangen, dass Sie eine solche App entwickelt und getestet haben.

Eine App kann sowohl Audio-/Video- als auch reine Audiogeräte unterstützen. Es muss wissen, wann es auf die eine oder andere Weise streamt, und Maßnahmen ergreifen, um im jeweiligen Szenario die bestmögliche Nutzererfahrung zu bieten.

Beispielsweise sollten Apps mit Video- und Audioinhalten (z. B. Anwendungen zur Wiedergabe lokaler/NAS-Dateien) das Streaming auf Geräte mit reiner Audiowiedergabe ermöglichen, um die Wiedergabe von Audiodateien zu unterstützen. Die App sollte es Nutzern jedoch nicht erlauben, Videodateien an das Gerät mit reiner Audiowiedergabe zu senden. Die App kann die unten beschriebenen APIs für Gerätefunktionen für Absender verwenden, um die für das Gerät geeigneten Inhalte zu ermitteln.

Damit Ihre App Google Cast für Audio unterstützt, müssen folgende Anforderungen erfüllt sein:

  • Nur Audio wird unterstützt: Streaming von Musik und Audiodateien, Radio usw. Die an die Web Receiver App gestreamten Medien dürfen kein Videostream sein. Vermeiden Sie außerdem das Streaming von Grafiken und Bildern, um die Anwendungsstartzeit und die Arbeitsspeichernutzung zu verbessern. Weitere Informationen finden Sie unten in den Richtlinien zur Arbeitsspeichernutzung.

  • Funktioniert wie erwartet auf einem Gerät mit der Funktion „Cast for Audio“ und auf einem normalen Chromecast.

Gerätefunktionen

Ihre App kann anhand der APIs für Gerätefunktionen erkennen, ob sie auf einem reinen Audiogerät ausgeführt wird. Diese APIs sind entweder auf dem Gerät selbst oder über die APIs für Sender oder Empfänger verfügbar.

HTTP-Header des Geräts

Der CAST-DEVICE-CAPABILITIES-HTTP-Header, der vom Übertragungsgerät beim Starten der Anwendung bereitgestellt wird, beschreibt die Gerätefunktionen. Das Gerät sendet eine Anfrage mit diesem Header an den Server, auf dem die Web Receiver App gehostet wird. Der Header für ein Gerät, das nur Audio unterstützt, beschreibt die Gerätefunktionen mit CAST-DEVICE-CAPABILITIES: {"display_supported":false}.

Wenn dein Server die Anfrage vom Gerät erhält, kannst du die Informationen in diesem Header verwenden, um die Anfrage an die Web Receiver App weiterzuleiten, die für Audiogeräte optimiert ist.

Web Receiver API

Du kannst dasselbe Objekt mit Gerätefunktionen abrufen, indem du CastReceiverManager.getDeviceCapabilities() aufrufst, wenn die Web-Receiver-App geladen wird.

Weitere Informationen finden Sie unter Gerätefunktionen.

Sender-APIs

Jede der Cast-Sender-APIs enthält auch Informationen zu den Gerätefunktionen. So kann die Absender-App festlegen, welche Art von Medien an den Empfänger gesendet werden soll. Wenn Ihre App sowohl Audio als auch Video unterstützt, kann sie verhindern, dass Videoinhalte an Geräte gesendet werden, die nur Audio unterstützen. Außerdem kann Ihre App die Lautstärke mit der für das Gerät am besten geeigneten Methode steuern, wie in der Design-Checkliste beschrieben. Die folgenden APIs für Gerätefunktionen sind für Absender verfügbar:

Richtlinien zur Speichernutzung

Web-Receiver-Apps, die auf Audiogeräten ausgeführt werden, müssen die Arbeitsspeichernutzung so verwalten:

  • Lade keine Bild- oder Grafik-Assets herunter und verwende sie nicht, um den Speicherplatz zu reduzieren und die Zeit bis zum Start der Wiedergabe zu verkürzen.
  • Bei der Verwendung von Media Source Extensions (MSE) müssen Anwendungen den Streambuffer auf 2 MB begrenzen. Wenn du die Media Player Library (MPL) verwendest, wird die Stream-Puffergröße der Anwendung bereits von MPL definiert.
  • Wenn du HTMLMediaElement verwendest, wird die Größe des Stream-Buffers der Anwendung von Chrome basierend auf der Streamrate definiert. Begrenzen Sie die Audiobitrate auf 2 Megabit pro Sekunde. Damit werden alle Codecs unterstützt, die unter Unterstützte Medien beschrieben sind (bis zu 48 kHz/16 Bit).

Lautstärkeregelung

Bei den meisten Google Cast für Audiogeräten steuert die Senderanwendung den gesamten Lautstärkebereich des Geräts, nicht nur die Eingangslautstärke der Audioquelle wie bei einem Chromecast-Gerät. Das bedeutet, dass die Schrittweite der Lautstärkeänderung für reine Audioanwendungen kleiner sein muss. In den folgenden Dokumenten finden Sie Richtlinien für die Bereitstellung einer Lautstärkeregelung in Ihrer App:

Gerätesteuerung

Google Cast für Audiogeräte kann eigene Wiedergabesteuerungen haben (z. B. Tasten oder Fernbedienungen). Dabei werden die für den urn:x-cast:com.google.cast.media-Namespace definierten Nachrichten zur Medienwiedergabe verwendet, wie unter Nachrichten zur Medienwiedergabe beschrieben, um die Wiedergabe in der Empfängeranwendung zu steuern. Deine Empfängeranwendung muss diese Nachrichten zur Medienwiedergabe unterstützen, um die Wiedergabesteuerung des Geräts zu unterstützen.

Außerdem sollte Ihre Sender-App Nachrichten vom Empfänger an den Sender unterstützen, damit Ihre Sender-App eine Statusmeldung vom Empfänger erhalten und die Benutzeroberfläche entsprechend aktualisieren kann, wenn der Nutzer den Medienstatus über die Gerätesteuerung ändert.

Geräteanzeige

Ein Google Cast für Audio-Gerät kann ein LCD-Display oder eine gerätespezifische Steueranwendung haben, die Medienmetadaten anzeigt. Deine Empfänger-App muss diese Metadaten für alle Audiotracks bereitstellen und dafür sorgen, dass sie mit den aktuell wiedergegebenen Inhalten synchronisiert sind, damit die Metadaten korrekt auf dem Display angezeigt werden. Wenn die Anwendung benutzerdefinierte Metadaten verwendet, müssen auch die Standard-Audiometadaten (Titel des Titels, Name des Künstlers, Albumtitel usw.) angegeben werden, wie unten für jede Plattform beschrieben.

Der Empfänger erhält die Metadaten vom Absender, wenn er die Medien lädt. In deiner Sender-App musst du beim Befehl zum Laden der Medien auf dem Empfänger die unten beschriebenen Felder angeben, damit die Metadaten auf dem Google Cast-Audiogerät angezeigt werden. Verwenden Sie die folgenden APIs:

Wenn die Cast App eine Medienwarteschlange auf dem Empfänger oder in der Cloud verwaltet, muss der Webempfänger alle Aktualisierungen des Medienstatus mit dem Namespace urn:x-cast:com.google.cast.media übertragen, damit alle Sender synchronisiert werden.

Anmeldung

Sie müssen Ihr Google Cast für Audiogerät für Tests registrieren und Ihre App für die Unterstützung von Google Cast für Audiogeräten registrieren. Verwenden Sie dazu die Google Cast SDK Developer Console.

  • Weitere Informationen zur Registrierung von Geräten finden Sie unter Geräte.
  • Sie müssen das Kästchen Unterstützt Streaming auf reine Audiogeräte anklicken, wenn Sie Ihre App registrieren, damit Ihre App Google Cast für Audiogeräte finden kann. Weitere Informationen finden Sie unter Anwendung registrieren.

Bei nicht veröffentlichten Apps, z. B. solchen, die für Tests verwendet werden, müssen Sie auch die Option zur Unterstützung von Nur-Audio-Geräten auswählen, damit die App diese Geräte erkennen kann.

Google Cast for Audio 2.0

Google Cast for Audio (GC4A) 2.0 ist die Audioplattform der nächsten Generation für Google Cast, die auf Geräte mit wenig Arbeitsspeicher ausgerichtet ist. So soll das System der Geräte, auf denen deine Inhalte gestreamt werden können, erweitert werden. Da GC4A 2.0 auf Audioplattformen ausgerichtet ist, wird der Web-API-Satz auf Geräte ohne Display reduziert. GC4A 2.0 wird für neue und vorhandene Lautsprecher eingeführt, die Streaming unterstützen.

Testen und Fehler beheben

Da alle unterstützten Lautsprecher auf GC4A 2.0 umgestellt werden, ist es wichtig, dass Entwickler von Audio-Apps ihre Apps mit GC4A 2.0 testen. Sie können Ihre Streaming-App für GC4A 2.0 auf jedem der hier aufgeführten GC4A 2.0-Geräte testen.

GC4A 2.0 unterstützt den Chrome Remote Debugger nicht. Wenn Sie Ihre App debuggen möchten, empfiehlt Google den Cast-Debug-Logger.

Verfügbare GC4A 2.0-Geräte

Dies ist eine unvollständige Liste der GC4A 2.0-Geräte:

  • Bose: WLAN-Lautsprecher und Smart-Soundbars
  • JBL: Charge 5 (WLAN) / Boombox 3 (WLAN) / Authentics 200, 300 und 500
  • Samsung: Music Frame / Soundbars
  • LG: Soundbars 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

Wir empfehlen, alle App-Funktionen in GC4A 2.0 zu testen. Testen Sie unbedingt die Wiedergabe aller Medientypen (Podcasts, Streams usw.), das Pausieren, Überspringen, Zurückspulen, Ändern von Playlists, Anhalten und erneute Verbindung von Cast.

Unterstützte APIs

GC4A 2.0 unterstützt die folgenden APIs:

  • HTML
  • JavaScript ECMA 6
  • DOMParser
  • XMLSerializer
  • Dokumente und Unterklassen
  • DocumentFragment
  • HTMLMediaElement und HTMLAudioElement
  • HTMLVideoElement (kann nur Audioinhalte wiedergeben)
  • HTMLScriptElement
  • HTMLBaseElement
  • HTMLTemplateElement
  • Benutzerdefinierte Elemente
  • Shadow DOM
  • Script-Module / asynchron / verzögert
  • Fetch / XHR
  • WebSocket
  • MessagePort
  • Kekse
  • MSE (Media Source Extensions)
  • EME (Encrypted Media Extensions)
  • Lokaler / Sitzungsspeicher

GC4A 2.0 unterstützt nicht:

  • Import dynamischer Module (wird 2024 hinzugefügt)
  • CSS
  • IFrame
  • TextTracks

Kontakt

Wenden Sie sich an gc4a-support-external@google.com, wenn Sie Hilfe bei der Einrichtung für die Tests benötigen oder keinen Bose-Lautsprecher verwenden können.