Urządzenia audio

Urządzenia audio Google Cast obsługują tylko odtwarzanie dźwięku. W tym przewodniku opisano, jak optymalizować aplikacje Cast na potrzeby urządzeń obsługujących tylko dźwięk i jak korzystać z ograniczonego wykorzystania pamięci, procesora i przepustowości sieci.

Aplikacja obsługująca Google Cast na potrzeby przesyłania dźwięku musi uwzględniać te kwestie:

  • Urządzenia Google Cast do przesyłania dźwięku nie wyświetlają filmów ani grafik. Jednak wiele urządzeń audio ma wyświetlacz, na którym wyświetlane są metadane, takie jak stan odtwarzania (odtwarzanie lub wstrzymanie) i postęp. Aplikacja nie może wyświetlać takich kluczowych informacji o użytkowniku tylko odbiorcy. Kluczowe informacje oraz większość interfejsu muszą być widoczne dla nadawcy.
  • Aby prawidłowo uruchamiać aplikacje odbiornika internetowego, Google Cast dla urządzeń audio musi nadal renderować grafikę, nawet jeśli nie jest ona wyświetlana. Ponieważ urządzenia mogą nie obsługiwać operacji graficznych przyspieszonych sprzętowo, aplikacje odbiorcze powinny unikać operacji intensywnie wykorzystujących grafikę, takich jak gradienty kolorów, obracanie, mieszanie alfa i ponowne rysowanie dużych obiektów, np. pasków postępu, częściej niż raz na sekundę.
  • Google Cast na urządzeniach audio obsługuje tylko treści chronione DRM za pomocą Widevine.
  • W przypadku większości urządzeń z Google Cast do przesyłania dźwięku aplikacja wysyłająca dźwięk steruje pełnym zakresem głośności urządzenia (np. głośnika), a nie tylko głośnością źródła dźwięku podłączonego do telewizora, jak w przypadku Chromecasta.
  • Oprócz sterowania odtwarzaniem za pomocą urządzenia nadającego (np. telefonu) aplikacja może wymagać sterowania odtwarzaniem za pomocą własnych elementów sterujących urządzenia, takich jak pilot, przyciski na urządzeniu lub zewnętrzna aplikacja sterująca.
  • Google Cast na urządzeniu audio może obsługiwać wyświetlanie metadanych treści za pomocą małego ekranu LCD, wyjścia HDMI (w przypadku głośników lub odbiorników audio-wideo) lub zewnętrznej aplikacji zdalnej, w zależności od interfejsu urządzenia.

Programowanie

Pierwszym krokiem w rozwijaniu aplikacji Cast obsługującej Google Cast na potrzeby dźwięku jest opracowanie aplikacji Cast na potrzeby dźwięku i obrazu oraz sprawdzenie, czy działa ona na Chromecastzie. W tym dokumencie zakładamy, że masz już taką aplikację i że została ona przez Ciebie przetestowana.

Aplikacja może obsługiwać urządzenia z funkcją audio-wideo i tylko z dźwiękiem. Musi ono wiedzieć, kiedy przesyłać obraz do jednego urządzenia, a kiedy do drugiego, oraz podejmować działania, aby zapewnić użytkownikom jak najlepsze wrażenia w danym scenariuszu.

Na przykład aplikacje obsługujące zarówno filmy, jak i dźwięk (np. aplikacje do odtwarzania plików lokalnych lub plików z NAS) powinny umożliwiać przesyłanie treści na urządzenia obsługujące tylko dźwięk, aby umożliwić odtwarzanie plików audio, ale nie powinny pozwalać użytkownikowi na wysyłanie plików wideo na takie urządzenie. Aplikacja może używać interfejsów API możliwości urządzenia dla nadawców opisanych poniżej, aby określić treści odpowiednie dla urządzenia.

Aby obsługiwać Google Cast na potrzeby dźwięku, aplikacja musi:

  • Obsługa tylko dźwięku: strumieniowe przesyłanie muzyki i plików audio, radio itp. Treści przesyłane strumieniowo do aplikacji Web Receiver nie mogą być strumieniem wideo. Unikaj też strumieniowego przesyłania grafiki i obrazów, aby skrócić czas uruchamiania aplikacji i zminimalizować wykorzystanie pamięci. Poniżej znajdziesz wytyczne dotyczące korzystania z pamięci.

  • działać zgodnie z oczekiwaniami na urządzeniu Cast for Audio i zwykłym Chromecastzie;

Funkcje urządzenia

Aplikacja może się dowiedzieć, czy działa na urządzeniu obsługującym tylko dźwięk, dzięki interfejsom API funkcji urządzenia dostępnym na samym urządzeniu lub za pomocą interfejsów API nadawcy lub odbiornika.

Nagłówek HTTP urządzenia

Nagłówek HTTP CAST-DEVICE-CAPABILITIES udostępniany przez urządzenie Cast podczas uruchamiania aplikacji opisuje możliwości urządzenia. Urządzenie wysyła żądanie z tym nagłówkiem do serwera hostującego aplikację Web Receiver. Nagłówek urządzenia obsługującego tylko dźwięk zawiera informacje o możliwościach urządzenia (CAST-DEVICE-CAPABILITIES: {"display_supported":false}).

Gdy serwer otrzyma żądanie od urządzenia, możesz użyć informacji z tego nagłówka, aby przekierować żądanie do aplikacji Web Receiver, która jest zoptymalizowana pod kątem urządzeń audio.

Interfejs Web Receiver API

Ten sam obiekt możliwości urządzenia możesz uzyskać, wywołując funkcję CastReceiverManager.getDeviceCapabilities(), gdy wczytana jest aplikacja Web Receiver.

Więcej informacji znajdziesz w sekcji Możliwości urządzenia.

Interfejsy API nadawcy

Każdy z interfejsów API przesyłacza Cast zawiera też informacje o możliwościach urządzenia. Dzięki nim aplikacja nadawcy może określić, jakiego rodzaju multimedia wysłać do odbiorcy. Jeśli aplikacja obsługuje zarówno dźwięk, jak i obraz, może uniknąć wysyłania treści wideo na urządzenia obsługujące tylko dźwięk. Aplikacja może też kontrolować głośność za pomocą metody najbardziej odpowiedniej dla danego urządzenia, zgodnie z opisem w liście kontrolnej dotyczącej projektowania. Oto interfejsy API funkcji urządzenia przeznaczone dla nadawców:

Zasady dotyczące wykorzystania pamięci

Aplikacje Web Receiver działające na urządzeniach audio muszą zarządzać wykorzystaniem pamięci w ten sposób:

  • Aby zmniejszyć wykorzystanie pamięci i skrócić czas oczekiwania na rozpoczęcie odtwarzania, nie pobieraj ani nie używaj żadnych komponentów z obrazem lub grafiką.
  • W przypadku korzystania z rozszerzeń źródła multimediów (MSE) aplikacje muszą ograniczyć bufor strumienia do 2 MB. Jeśli używasz biblioteki odtwarzacza multimedialnego (MPL), rozmiar bufora strumienia danych aplikacji jest już zdefiniowany przez MPL.
  • Gdy używasz HTMLMediaElement, rozmiar bufora strumienia aplikacji jest definiowany przez Chrome na podstawie szybkości strumienia. Ogranicz szybkość transmisji bitów dźwięku do 2 Mbitów na sekundę, co obsługuje wszystkie kodeki opisane w sekcji Obsługiwane media (do 48 kHz/16 bitów).

Sterowanie głośnością

W przypadku większości urządzeń z Google Cast do przesyłania dźwięku aplikacja wysyłająca steruje pełnym zakresem głośności urządzenia, a nie tylko głośnością źródła dźwięku, jak w przypadku Chromecasta. Oznacza to, że w przypadku aplikacji ograniczonych do dźwięku przyrosty zmian głośności muszą być mniejsze. W tych dokumentach znajdziesz wskazówki dotyczące korzystania z regulacji głośności w aplikacji:

Sterowanie urządzeniami

Google Cast na urządzeniach audio może mieć własne elementy sterujące odtwarzaniem (np. przyciski, piloty). Korzystają one z wiadomości dotyczących odtwarzania multimediów zdefiniowanych w przestrzeni nazw urn:x-cast:com.google.cast.media (jak opisano w sekcji Wiadomości dotyczące odtwarzania multimediów), aby sterować odtwarzaniem w aplikacji odbiorczej. Aplikacja odbiorcza musi obsługiwać te komunikaty o odtwarzaniu multimediów, aby obsługiwać elementy sterujące odtwarzaniem na urządzeniu.

Aplikacja nadawcza powinna też obsługiwać wiadomości od odbiorcy do nadawcy, aby w przypadku zmiany stanu multimediów za pomocą elementów sterujących na urządzeniu aplikacja nadawcza mogła otrzymać wiadomość o stanie od odbiorcy i odpowiednio zaktualizować interfejs użytkownika.

Wyświetlacz urządzenia

Urządzenie Google Cast na potrzeby przesyłania dźwięku może mieć ekran LCD lub aplikację sterującą przeznaczoną do konkretnego urządzenia, która wyświetla metadane multimediów. Aplikacja odbiornika musi udostępniać te metadane dla wszystkich ścieżek audio i zadbać o to, aby były one zsynchronizowane z obecnie odtwarzanymi treściami, aby metadane wyświetlały się prawidłowo na ekranie. Jeśli aplikacja używa metadanych niestandardowych, musi również zawierać standardowe metadane audio (nazwa utworu, nazwa wykonawcy, tytuł albumu itp.) zgodnie z opisem dla każdej platformy podanym poniżej.

Odbiorca otrzymuje metadane od nadawcy, gdy wczytuje multimedia. W aplikacji nadajnika, wraz z poleceniem wczytania multimediów na urządzenie odbiorcze, musisz określić pola opisane poniżej, aby metadane wyświetlały się na urządzeniu audio Google Cast. Używaj tych interfejsów API:

Jeśli aplikacja Cast zarządza kolejką multimediów na odbiorniku lub w chmurze, odbiornik internetowy musi przekazywać wszystkie aktualizacje stanu multimediów za pomocą przestrzeni nazw urn:x-cast:com.google.cast.media, aby wszyscy nadawcy byli zsynchronizowani.

Rejestracja

Musisz zarejestrować urządzenie audio Google Cast do testów i zarejestrować aplikację, aby obsługiwała Google Cast na urządzeniach audio. Aby to zrobić, użyj konsoli programisty Google Cast SDK.

  • Więcej informacji o rejestrowaniu urządzeń znajdziesz w sekcji Urządzenia.
  • Aby umożliwić aplikacji wykrywanie Google Cast na urządzeniach audio, podczas rejestrowania aplikacji musisz zaznaczyć pole wyboru Obsługuje przesyłanie na urządzenia tylko z dźwiękiem. Zobacz Rejestrowanie aplikacji.

W przypadku aplikacji nieopublikowanych, np. używanych do testowania, musisz też wybrać opcję obsługi urządzeń audio. Dzięki temu aplikacja będzie mogła wykrywać urządzenia audio.

Google Cast for Audio 2.0

Google Cast for Audio (GC4A) 2.0 to platforma audio Cast nowej generacji zaprojektowana z myślą o urządzeniach z małą ilością pamięci, aby rozszerzyć ekosystem urządzeń, na których można przesyłać strumieniowo Twoje treści. Ponieważ GC4A 2.0 jest kierowana na platformy audio, zestaw interfejsów API dla przeglądarek został zredukowany, aby pasował do urządzeń bez wyświetlacza. GC4A 2.0 jest wprowadzana na nowych i dotychczasowych głośnikach obsługujących Cast.

Testowanie i debugowanie

Wszystkie obsługiwane głośniki przejdą na GC4A 2.0, dlatego deweloperzy aplikacji audio powinni przetestować swoje aplikacje na GC4A 2.0. Aplikację Cast for GC4A 2.0 możesz testować na dowolnym z wymienionych tutaj urządzeń GC4A 2.0.

GC4A 2.0 nie obsługuje zdalnego debugera Chrome. Jeśli chcesz debugować aplikację, Google zaleca użycie dziennika debugowania przesyłania.

Urządzenia z dostępną wersją GC4A 2.0

Oto niepełna lista urządzeń z GC4A 2.0:

  • Bose: głośnik Wi-Fi i inteligentne soundbary
  • JBL: Charge 5 Wi-Fi / Boombox 3 Wi-Fi / Authentics 200, 300 i 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

Zalecamy przetestowanie wszystkich funkcji aplikacji w GC4A 2.0. Pamiętaj, aby przetestować odtwarzanie wszystkich typów multimediów (podcastów, transmisji itp.), wstrzymywanie, przewijanie, pomijanie, zmienianie playlist, zatrzymywanie i ponowne łączenie z Cast.

Obsługiwane interfejsy API

GC4A 2.0 obsługuje te interfejsy API:

  • HTML
  • JavaScript ECMA 6
  • DOMParser
  • XMLSerializer
  • Dokumenty i podklasy
  • DocumentFragment
  • HTMLMediaElement i HTMLAudioElement
  • HTMLVideoElement (może odtwarzać tylko treści audio)
  • HTMLScriptElement
  • HTMLBaseElement
  • HTMLTemplateElement
  • Elementy niestandardowe
  • Shadow DOM
  • Moduły skryptu / asynchroniczność / opóźnienie
  • Pobieranie / XHR
  • WebSocket
  • MessagePort
  • Pliki cookie
  • MSE (Media Source Extensions)
  • EME (Encrypted Media Extensions)
  • Pamięć lokalna lub sesji

GC4A 2.0 nie obsługuje:

  • Importowanie modułów dynamicznych (zostanie dodane w 2024 r.)
  • CSS
  • IFrame
  • TextTracks

Kontakt

Jeśli potrzebujesz pomocy przy konfigurowaniu urządzenia do testowania lub nie możesz korzystać z głośnika Bose, wyślij e-maila na adres gc4a-support-external@google.com.