Audiogeräte

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

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

  • Google Cast für Audiogeräte zeigen keine Videos oder Grafiken an. Viele Audiogeräte haben jedoch ein Display zur Anzeige von Metadaten, z. B. Wiedergabestatus (Wiedergabe oder pausiert) und Fortschritt. Ihre Anwendung darf solche kritischen Nutzerinformationen nicht nur auf dem Empfänger anzeigen. Wichtige Informationen und der größte Teil der Benutzeroberfläche müssen auf dem Absender angezeigt werden.
  • Damit Web Receiver-Apps richtig ausgeführt werden können, muss Google Cast für Audiogeräte Grafiken rendern, auch wenn diese nicht angezeigt werden. Da Geräte möglicherweise keine hardwarebeschleunigten Grafikvorgänge unterstützen, sollten Empfängeranwendungen die Verwendung grafikintensiver Vorgänge wie Farbverläufe, Drehung, Alphamischung und das erneute Zeichnen großer Objekte wie Fortschrittsbalken mehr als einmal pro Sekunde vermeiden.
  • Google Cast für Audiogeräte unterstützt nur Widevine für DRM-geschützte Inhalte (Digital Rights Management).
  • Bei den meisten Google Cast für Audiogeräten steuert die Sender-App wie bei einem Chromecast den gesamten Lautstärkebereich des Geräts, z. B. einen Lautsprecher, und nicht nur die Lautstärke der Audioquelle am Fernseher.
  • Neben der Wiedergabe über das Sendergerät (z. B. ein Smartphone) muss die App möglicherweise auch die Steuerung der Wiedergabe mit den eigenen Controllern wie einer Fernbedienung, Tasten auf dem Gerät oder einer externen Fernbedienungs-App ermöglichen.
  • Je nach Geräte-UI kann ein Google Cast for Audio-Gerät die Anzeige von Inhaltsmetadaten über einen kleinen LCD-Bildschirm, einen HDMI-Ausgang (für Soundbars oder Audio-/Video-Receiver) oder eine externe Remote-Anwendung unterstützen.

Entwicklung

Der erste Schritt bei der Entwicklung einer Cast-App zur Unterstützung von Google Cast für Audio besteht darin, eine Cast-Anwendung für Audio-Video zu entwickeln und zu überprüfen, ob sie auf 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-Geräte als auch reine Audio-Geräte unterstützen. Es muss wissen, wann die Übertragung in ein anderes Szenario erfolgt, und Maßnahmen ergreifen, um die bestmögliche Nutzererfahrung im gegebenen Szenario zu gewährleisten.

Beispielsweise sollte für Dual-Video- und Audio-Apps (wie lokale/NAS-Anwendungen zur Dateiwiedergabe) die Übertragung an Nur-Audio-Geräte ermöglicht werden, um die Wiedergabe von Audiodateien zu unterstützen. Die App sollte dem Nutzer jedoch nicht erlauben, Videodateien an das Nur-Audio-Gerät zu senden. Die App kann die unten beschriebenen Gerätefunktions-APIs für Absender verwenden, um den für das Gerät geeigneten Inhalt zu bestimmen.

Damit Google Cast für Audio unterstützt wird, muss Ihre App folgende Voraussetzungen erfüllen:

  • Unterstützt nur Audio, z. B. Musik- und Audiodateien, Radiostreams usw. Die an die Web Receiver App gestreamten Medien dürfen kein Videostream sein. Vermeiden Sie außerdem das Streamen von Grafiken und Bildern, um die Startzeit der Anwendung und die Speichernutzung zu verbessern. Weitere Informationen finden Sie unten im Abschnitt Richtlinien zur Arbeitsspeichernutzung.

  • die wie erwartet auf einem Cast für Audiogerät und einem normalen Chromecast laufen.

Gerätefunktionen

Ihre App kann anhand der Gerätefunktionen-APIs, die über das Gerät selbst oder über die Sender- oder Empfänger-APIs verfügbar sind, erkennen, ob sie auf einem Nur-Audio-Gerät ausgeführt wird.

HTTP-Header des Geräts

Der HTTP-Header CAST-DEVICE-CAPABILITIES, der vom Übertragungsgerät beim Starten der App 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 Audiogerät beschreibt die Gerätefunktionen mit CAST-DEVICE-CAPABILITIES: {"display_supported":false}.

Wenn Ihr Server die Anfrage vom Gerät empfängt, können Sie die Anfrage anhand der Informationen in diesem Header an die für Audiogeräte optimierte Web Receiver-App weiterleiten.

Web Receiver-API

Sie können dasselbe Gerätefunktionsobjekt abrufen, indem Sie CastReceiverManager.getDeviceCapabilities() aufrufen, wenn die Web Receiver App geladen wird.

Weitere Informationen finden Sie unter Gerätefunktionen.

Sender-APIs

Auch die Cast Sender APIs enthalten Informationen zu den Gerätefunktionen. Damit kann die Sender-App feststellen, welche Art von Medien an den Empfänger gesendet werden soll. Wenn Ihre App sowohl Audio als auch Video unterstützt, werden möglicherweise keine Videoinhalte an reine Audiogeräte gesendet. Außerdem kann Ihre App die Lautstärke mit der für das Gerät am besten geeigneten Methode steuern, wie in der Checkliste für das Design 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 wie folgt verwalten:

  • Vermeiden Sie es, Bild- oder Grafikinhalte herunterzuladen oder zu verwenden, um den Speicherplatz zu reduzieren und die Zeit bis zum Start der Wiedergabe zu verkürzen.
  • Wenn Sie Media Source Extensions (MSE) verwenden, müssen Anwendungen den Stream-Zwischenspeicher auf 2 MB begrenzen. Wenn Sie die Media Player Library (MPL) verwenden, ist die Stream-Puffergröße der Anwendung bereits durch MPL definiert.
  • Bei Verwendung von HTMLMediaElement wird die Größe des Streampuffers der Anwendung von Chrome anhand der Streamrate definiert. Begrenzen Sie die Audiobitrate auf 2 Megabit pro Sekunde. Dadurch werden alle unter Unterstützte Medien beschriebenen Codecs unterstützt (bis zu 48 kHz/16 Bit).

Lautstärkeregelung

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

Gerätesteuerung

Google Cast für Audiogeräte kann über eigene Wiedergabesteuerungen wie Tasten oder Fernbedienungen verfügen. Diese verwenden die für den urn:x-cast:com.google.cast.media-Namespace definierten Nachrichten zur Medienwiedergabe, wie unter Nachrichten zur Medienwiedergabe beschrieben, um die Wiedergabe in der Empfängeranwendung zu steuern. Ihre Empfangsanwendung muss diese Meldungen zur Medienwiedergabe unterstützen, damit die Wiedergabesteuerung des Geräts unterstützt wird.

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

Gerätedisplay

Ein Google Cast for Audio-Gerät hat möglicherweise einen LCD-Bildschirm auf dem Gerät oder eine gerätespezifische Steueranwendung, die Medienmetadaten anzeigt. Die Empfänger-App muss diese Metadaten für alle Audiotracks bereitstellen und sicherstellen, dass sie mit dem aktuell wiedergegebenen Inhalt synchron sind, damit die Metadaten auf dem Bildschirm richtig angezeigt werden. Wenn die Anwendung benutzerdefinierte Metadaten verwendet, muss sie auch die Standard-Audiometadaten (Titelname, Künstlername, Albumtitel usw.) bereitstellen, wie unten für jede Plattform beschrieben.

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

Anmeldung

Registrieren Sie Ihr Google Cast-Gerät für Audiogeräte zum Testen und für die Unterstützung von Google Cast für Audiogeräte mithilfe der Google Cast SDK Developer Console.

  • Weitere Informationen zum Registrieren von Geräten finden Sie unter Geräte.
  • Sie müssen bei der Registrierung Ihrer App das Kästchen Unterstützt das Streamen an Nur-Audio-Geräte anklicken, damit Ihre App Google Cast für Audiogeräte erkennen kann. Weitere Informationen finden Sie unter Anwendung registrieren.

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

Google Cast für Audio 2.0

Google Cast for Audio (GC4A) 2.0 ist die Cast-Audioplattform der nächsten Generation. Sie wurde für Geräte mit geringem Arbeitsspeicher entwickelt und erweitert das Angebot an Geräten, die Ihre Inhalte streamen können.

Es ist wichtig, dass Entwickler von Audio-Apps ihre Apps auf GC4A 2.0 testen. Sie können Ihre Cast-App für GC4A 2.0 auf einem Bose in der Produktion testen, z. B. dem Bose Smart Speaker 500.

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