Audiogeräte

Google Cast für Audiogeräte unterstützen nur die Audiowiedergabe. In diesem Leitfaden wird beschrieben, wie Sie Cast-Anwendungen für reine Audiogeräte optimieren und den geringeren Bedarf an Arbeitsspeicher-, CPU- und Netzwerkbandbreitennutzung nutzen können.

Eine App, die Google Cast für Audio unterstützt, muss Folgendes berücksichtigen:

  • In Google Cast für Audiogeräte werden keine Videos oder Grafiken angezeigt. Viele Audiogeräte haben jedoch einen Bildschirm, auf dem Metadaten angezeigt werden können, z. B. der Wiedergabestatus (Wiedergabe oder pausiert) und der Fortschritt. Deine App darf solche kritischen Nutzerinformationen nicht nur auf dem Empfänger anzeigen. Wichtige Informationen und der Großteil der Benutzeroberfläche müssen dem Absender angezeigt werden.
  • Damit Google Web Receiver-Apps wie vorgesehen ausgeführt werden können, müssen Google Cast for Audio-Geräte Grafiken rendern können, auch wenn sie nicht angezeigt werden. Da Geräte möglicherweise keine hardwarebeschleunigten Grafikvorgänge unterstützen, sollten Sie bei Empfängeranwendungen keine grafikintensiven Vorgänge wie Farbverläufe, Rotation, Alpha-Blending oder das Zeichnen großer Objekte wie Fortschrittsbalken mehr als einmal pro Sekunde verwenden.
  • Google Cast für Audiogeräte unterstützt nur DRM-geschützte Inhalte (Widevine for Digital Rights Management).
  • Bei den meisten Google Cast für Audio-Geräten steuert die Absenderanwendung den gesamten Lautstärkebereich des Geräts (z. B. einen Lautsprecher) und nicht nur die Lautstärke der Audioquelle, die auf dem Fernseher eingegeben wird, wie dies bei Chromecast der Fall ist.
  • Zusätzlich zur Steuerung der Wiedergabe mit dem Gerät des Absenders (z. B. einem Smartphone) muss die App unter Umständen zur Steuerung der Wiedergabe mit den eigenen Controllern des Geräts, z. B. einer Fernbedienung, Tasten auf dem Gerät oder einer externen Remote-Anwendung, genutzt werden.
  • Ein Google Cast für Audiogerät kann je nach Geräte-UI die Anzeige von Inhaltsmetadaten mit einem kleinen LCD-Bildschirm, einer HDMI-Ausgabe (für Soundbars oder Audio-Video-Receiver) oder einer externen Remote-Anwendung unterstützen.

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-Videos zu entwickeln, die darauf mit Chromecast ausgeführt werden muss. 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. Sie muss wissen, wann sie auf eine der beiden Dienste übertragen wird, und Maßnahmen ergreifen, um in einem gegebenen Szenario die bestmögliche Nutzererfahrung zu bieten.

Dual-Video- und Audio-Apps (z. B. Anwendungen zur lokalen oder NAT-Wiedergabe von Dateien) sollten beispielsweise das Streamen auf reine Audiogeräte ermöglichen, um die Wiedergabe von Audiodateien zu unterstützen. Der Nutzer sollte jedoch nicht die Möglichkeit haben, Videodateien an das Gerät zu senden, auf dem nur Audiodateien wiedergegeben werden. 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 Google Cast für Audio unterstützt wird, muss Ihre App Folgendes tun:

  • Nur Audio unterstützen: Musik- und Audiodateien, Radio usw. streamen. An die Web Receiver App gestreamte Medien dürfen kein Videostream sein. Vermeiden Sie außerdem, Grafiken und Bilder zu streamen, um die Startzeit der Anwendung und die Arbeitsspeichernutzung zu verbessern. Weitere Informationen finden Sie unten in den Richtlinien zur Arbeitsspeichernutzung.

  • Die Synchronisierung läuft wie gewohnt auf einem Cast for Audio-Gerät und auf einem normalen Chromecast.

Gerätefunktionen

Ihre App kann aufgrund der Device Functions APIs, die auf dem Gerät selbst oder über die Sender oder Empfänger-APIs verfügbar sind, feststellen, ob sie auf einem reinen Audiogerät ausgeführt wird.

HTTP-Header des Geräts

Der HTTP-Header CAST-DEVICE-CAPABILITIES, der beim Starten der Anwendung vom Cast-Gerät zur Verfügung gestellt 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 reines Audiogerät beschreibt die Gerätefunktionen mit CAST-DEVICE-CAPABILITIES: {"display_supported":false}.

Wenn dein Server die Anfrage vom Gerät empfängt, 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

Sie können das Objekt mit den Gerätefunktionen abrufen, indem Sie CastReceiverManager.getDeviceCapabilities() aufrufen, wenn die Web Receiver App geladen wird.

Weitere Informationen finden Sie unter Gerätefunktionen.

Sender-APIs

Jede der Sender-APIs in Cast enthält auch Informationen zu den Gerätefunktionen. Damit kann die Absender-App bestimmen, welche Medien an den Empfänger gesendet werden. Wenn deine App sowohl Audio- als auch Videoinhalte unterstützt, kann das Senden von Videoinhalten an reine Audiogeräte vermieden werden. Außerdem kann Ihre App die Lautstärke mit der für das Gerät am besten geeigneten Methode regeln, wie in der Design-Checkliste beschrieben. Sehen Sie sich die folgenden APIs für Gerätefunktionen für Absender an:

Richtlinien zur Arbeitsspeichernutzung

Web Receiver-Apps, die auf Audiogeräten ausgeführt werden, müssen die Speichernutzung folgendermaßen verwalten:

  • Vermeiden Sie das Herunterladen oder Verwenden von Bild- oder Grafikinhalten, um die Größe des Arbeitsspeichers zu reduzieren und die Zeit bis zum Beginn der Wiedergabe zu verkürzen.
  • Bei Verwendung von Media Source Extensions (MSE) müssen Anwendungen den Streampuffer auf 2 MB beschränken. Bei Verwendung der Media Player-Bibliothek (MPL) ist die Streampuffergröße der Anwendung bereits durch MPL definiert.
  • Bei der Verwendung von HTMLMediaElement wird die Streampuffergröße der Anwendung von Chrome basierend auf der Streamrate definiert. Begrenzt die Audio-Bitrate auf 2 Megabit pro Sekunde, wodurch alle Codecs unterstützt werden, die unter Unterstützte Medien (bis zu 48 kHz/16 Bit) beschrieben werden.

Lautstärkeregelung

Bei den meisten Google Cast-Audiogeräten steuert die Senderanwendung wie bei Chromecast-Geräten den gesamten Lautstärkebereich des Geräts, nicht nur die Eingabequelle der Audioquelle. Dies bedeutet, dass die Lautstärkeänderungsschritte für reine Audioanwendungen kleiner sein müssen. Richtlinien zum Bereitstellen der Lautstärkeregelung in Ihrer Anwendung finden Sie in den folgenden Dokumenten:

Gerätesteuerung

Google Cast für Audiogeräte können eigene Wiedergabesteuerungen wie Tasten oder Fernbedienungen haben. Diese verwenden die für den Namespace urn:x-cast:com.google.cast.media definierten Medienwiedergabenachrichten, wie unter Nachrichten zur Medienwiedergabe beschrieben, um die Wiedergabe in der Empfängeranwendung zu steuern. Die Empfängeranwendung muss diese Medienwiedergabenachrichten für die Wiedergabesteuerung des Geräts unterstützen.

Außerdem sollte die Absender-App die Nachrichten vom Empfänger zum Absender unterstützen. Wenn der Nutzer den Medienstatus mithilfe der Gerätesteuerung ändert, kann die Absender-App eine Statusnachricht vom Empfänger empfangen und die UI entsprechend aktualisieren.

Geräteanzeige

Ein Google Cast für Audiogerät kann einen LCD-Bildschirm auf dem Gerät oder eine gerätespezifische Steuerungsanwendung haben, die Medienmetadaten anzeigt. Die Empfänger-App muss diese Metadaten für alle Audiotracks bereitstellen und darauf achten, dass sie mit den aktuell wiedergegebenen Inhalten synchron sind, damit die Metadaten auf dem Bildschirm richtig angezeigt werden. Wenn die Anwendung benutzerdefinierte Metadaten verwendet, muss sie auch die Standardaudiometadaten (Titelname, Künstlername, Albumtitel usw.) wie unten für jede Plattform beschrieben bereitstellen.

Der Empfänger erhält die Metadaten vom Absender, wenn er die Medien lädt. In Ihrer Sender-App müssen Sie mit dem Befehl zum Laden der Medien auf dem Empfänger die unten beschriebenen Felder angeben, damit die Metadaten auf dem Google Cast for Audio-Gerä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 Medienstatusaktualisierungen mit dem Namespace urn:x-cast:com.google.cast.media übertragen, damit alle Absender synchronisiert werden.

Anmeldung

Du musst dein Google Cast for Audio-Gerät zum Testen registrieren und deine App für die Unterstützung von Google Cast for Audio-Geräten registrieren. Verwende dazu die Google Cast SDK Developer Console.

  • Weitere Informationen zum Registrieren von Geräten finden Sie unter Geräte.
  • Du musst bei der Registrierung deiner Anwendung das Kästchen Unterstützt das Streamen auf Audiogeräte anklicken, damit deine App Google Cast für Audiogeräte erkennen kann. Weitere Informationen finden Sie unter Anwendung registrieren.

Bei nicht veröffentlichten Apps, z. B. solchen, die zu Testzwecken verwendet werden, musst du auch die Option zur Unterstützung von reinen Audiogeräten auswählen, damit die App „Nur Audio“-Geräte erkennt.

Google Cast for Audio 2.0

Google Cast for Audio (GC4A) 2.0 ist eine Audiostreaming-Plattform der nächsten Generation, die für die Ausrichtung auf Geräte mit geringem Arbeitsspeicher entwickelt wurde und so eine Vielzahl von Geräten für das Streamen von Inhalten bietet.

Entwickler von Audio-Apps müssen ihre Apps mit GC4A 2.0 testen. Du kannst die Cast App für GC4A 2.0 auf einem Bose-Lautsprecher in der Produktionsumgebung testen, z. B. auf dem intelligenten Lautsprecher Bose 500.

Wenden Sie sich an gc4a-support-external@google.com, wenn Sie Hilfe beim Einrichten benötigen oder einen Bose-Lautsprecher nicht verwenden können. Wenn Sie Fehler in Ihrer App beheben möchten, empfiehlt Google die Verwendung des Cast-Debug-Loggings.