Podczas przesyłania treści do odbiornika internetowego użytkownik musi zawsze mieć możliwość sterowania nimi z poziomu aplikacji nadawcy.
Uwaga: zgodnie z Dodatkowymi warunkami korzystania z pakietu SDK Google Cast dla programistów aplikacja Cast do multimediów musi używać interfejsów API sterowania Google Play (wiadomości odtwarzania multimediów) zdefiniowanych na potrzeby pakietu SDK do sterowania odtwarzaniem multimediów w odbiorniku internetowym.
Aplikacje nadawcy powinny udostępniać elementy sterujące Cast w tych obszarach:
- Okno przesyłania podczas przesyłania
- Sterowanie głośnością nadawcy
- Rozwinięty kontroler nadawcy
- Minikontroler nadawcy
- Powiadomienie nadawcy
- Ekran blokady nadawcy
Stan odtwarzania przesyłania i elementy sterujące w aplikacji nadawcy muszą być zsynchronizowane ze zmianami w odtwarzaniu w odbiorniku internetowym, nawet jeśli nie pochodzą od tej aplikacji. Pozwala to na prawidłową obsługę zarówno poleceń dla wielu nadawców, jak i sterowania odtwarzaniem za pomocą pilota, przycisków itp.
Android
Elementy sterujące okna przesyłania

Minikontroler

Sterowanie powiadomieniami

Zablokuj elementy ekranowe

iOS
Elementy sterujące okna przesyłania

Minikontroler

Chrome
Elementy sterujące okna przesyłania

Minikontroler

Sterowanie głośnością nadawcy
Aplikacja nadawcy musi umożliwiać użytkownikom sterowanie głośnością treści odtwarzanych na telewizorze lub głośnikach za pomocą sprzętowych przycisków głośności lub suwaka głośności oprogramowania na urządzeniu wysyłającym. Obejmują one:
- Poziom dźwięku wysyłany do telewizora w przypadku urządzeń Google Cast takich jak Chromecast.
- Rzeczywista głośność natywnego telewizora lub głośnika na telewizorach Google Cast, telewizorach z wbudowanym Androidem TV i inteligentnych głośnikach.
Wymagany
O Aplikacja nadawcy musi umożliwiać użytkownikom sterowanie głośnością treści odtwarzanych na telewizorze lub głośnikach za pomocą sprzętowych przycisków głośności lub suwaka głośności oprogramowania na urządzeniu wysyłającym.
- Android: obsługa przycisków sprzętowych i suwaka głośności oprogramowania jest obowiązkowa.
- iOS: suwak głośności oprogramowania jest wymagany.
- Przeglądarka/Chrome: obsługa suwaka głośności oprogramowania jest obowiązkowa.
B Na urządzeniu mobilnym suwak głośności oprogramowania musi być dostępny w oknie przesyłania. podczas przesyłania.
C Suwak głośności w aplikacji nadawcy musi się synchronizować z bieżącą głośnością odbiornika internetowego po nawiązaniu połączenia z odbiornikiem internetowym.
D Suwak głośności w aplikacji nadawcy musi odzwierciedlać zmiany głośności wprowadzone przez innych nadawców lub przez pilota do aplikacji Chromecast.
E Aplikacje nadawców nie powinny nigdy ustawiać głośności na wstępnie zdefiniowanym poziomie, ale powinny przekazywać tylko zainicjowane przez użytkownika zmiany głośności.
F Tylko urządzenia z Androidem: gdy zmienisz poziom głośności w odbiorniku internetowym za pomocą przycisków sprzętowych, po naciśnięciu przycisków głośności urządzenia musi wyświetlić się wizualny suwak głośności (z ikoną Cast po lewej stronie). Uwaga: w wersji Gingerbread na Androida (wersja 2.3) ikona Cast nie jest widoczna.
Sprawdzone metody
- Przyrosty głośności:
- Android: platforma automatycznie zwiększa głośność.
- iOS i Chrome: w przypadku przycisków głośności sprzętu używaj przyrostów równych lub nieprzekraczających 5% pełnego zakresu głośności odbiornika internetowego w przypadku urządzeń audio/wideo oraz co 2% pełnego zakresu głośności odbiornika internetowego w przypadku urządzeń obsługujących wyłącznie dźwięk.
Rozwinięty kontroler nadawcy
Aplikacja nadawcy musi mieć rozszerzony kontroler do przesyłania treści.
Wymagany
A Zidentyfikuj treści, które są przesyłane, podając ich tytuł lub grafikę.
B Przed rozpoczęciem odtwarzania wyświetl wskaźnik wczytywania oraz tytuł lub grafikę.
C Po rozpoczęciu treści określ stan odbiornika internetowego.
D Udostępniać odpowiednie ustawienia.
E Po lewej stronie paska przewijania zobaczysz bieżący czas odtwarzania.
Po prawej stronie zobaczysz łączny czas trwania transmisji, jeśli jest on znany i nie jest to transmisja na żywo.
F Ukryj elementy sterujące, które nie mają związku z przesyłaniem.
G Nie rozłączaj ani nie zatrzymuj przesyłania, gdy użytkownicy opuszczą rozwinięty kontroler.
Umożliwia łatwe powrót do rozwiniętego kontrolera, gdy użytkownik go opuści.
Sprawdzone metody
- Udostępnia suwak pozycji odtwarzania strumieni multimedialnych.
- wyświetlać inne grafiki i metadane związane z treścią;
- Umożliwia określenie czasu trwania i czasu trwania treści w przypadku strumieni multimediów.
Android
Wczytuję treść nadawcy

Wczytuję zawartość odbiornika

Odtwarzana treść nadawcy

Odbiornik internetowy odtwarza treści

iOS
Wczytuję treści nadawcy

Wczytuję zawartość odbiornika internetowego

Odtwarzana treść nadawcy

Odbiornik internetowy odtwarza treści

Chrome
Wczytuję treść nadawcy

Wczytuję zawartość odbiornika internetowego

Odtwarzana treść nadawcy

Odbiornik internetowy odtwarza treści

Minikontroler nadawcy
Podczas przesyłania, gdy użytkownik opuści bieżącą stronę treści lub rozwinięty kontroler, powinien pojawić się mały, trwały element sterujący, nazywany minikontrolerem. Minikontroler przypomina o bieżącym przesyłaniu i zapewnia do niego natychmiastowy dostęp.
Wymagany
A Pasek lub pole, które wyświetla przesyłane treści, jest widoczne u dołu aplikacji nadawcy. Te opcje pozostają aktywne podczas przeglądania innych treści lub sekcji aplikacji.
B Elementy sterujące działają najlepiej, gdy są proste i informują, co jest przesyłane.
C Dostępne na wszystkich ekranach aplikacji (z wyjątkiem rozwiniętej strony kontrolera).
D Kliknięcie obszaru treści otwiera rozwinięty kontroler.
E Inne opcje związane z natychmiastowymi działaniami.
Sprawdzone metody
Aby zadbać o wygodę użytkowników, oprócz minikontrolera dodaj też elementy sterujące w oknie przesyłania.
Android
Minikontroler nadawcy

Zawartość odbiornika internetowego została wstrzymana

iOS
Minikontroler nadawcy

Zawartość odbiornika internetowego została wstrzymana

Chrome
Minikontroler nadawcy

Zawartość odbiornika internetowego została wstrzymana

Powiadomienie nadawcy
Wymagane (tylko na Androidzie)
O Użyj ikony aplikacji (nie ikony przesyłania) jako ikony powiadomienia na pasku stanu.
B Sprawdź, które treści są przesyłane. Może to być na przykład tytuł treści lub grafika.
C Sprawdzanie, który odbiornik internetowy jest przesyłany.
D Podstawowe opcje zarządzania zawartością.
E Wpisz „X”, aby zatrzymać przesyłanie i odłączyć od odbiornika internetowego w wierszu działań.
F Kliknięcie logo aplikacji, tytułu treści lub grafiki powinno
otworzyć rozwinięty kontroler aplikacji nadawcy.
Notes
- Tylko na Androidzie: nie można wdrażać powiadomień w iOS ani w Chrome.
- Na Androidzie Gingerbread (w wersji 2.3) powiadomienia będą wyświetlać tylko ikonę aplikacji i tekst, a nie odtwarzać, wstrzymywać ani zatrzymywać powiadomień.
- Więcej informacji znajdziesz w artykule o dodawaniu opcji sterowania multimediami do powiadomień.
Android
Ikona powiadomienia nadawcy

Odbiornik internetowy odtwarza treści

Opcje powiadomień nadawcy

Odbiornik internetowy odtwarza treści

Ekran blokady nadawcy
Wymagany (tylko w Androidzie)
A Identyfikuj przesyłane treści za pomocą tytułu lub grafiki.
B Sprawdź, który odbiornik internetowy jest przesyłany. Uwaga: nie jest to wymagane w przypadku aplikacji muzycznych.
C Zawiera elementy sterujące odtwarzaniem.
D Umożliwia dostęp do sterowania głośnością za pomocą przycisków sprzętowych.
Wymagane w Androidzie 4.4 KitKat i nowszych wersjach:
- Ikona aplikacji
- grafiki (np. okładki albumu);
- Wskaż w tekście, jakie treści są przesyłane (na przykład „Tears of Steel”)
- Sprawdzanie, który odbiornik internetowy jest przesyłany (na przykład „Salon”)
Wymagany w przypadku Androida 4.3 Jelly Bean:
- grafiki (np. okładki albumu);
- Wskaż w tekście, jakie treści są przesyłane (na przykład „Tears of Steel”)
- Sprawdzanie, który odbiornik internetowy jest przesyłany (na przykład „Salon”)
Notes
- Tylko na Androidzie: nie można wdrażać powiadomień w iOS ani w Chrome.
- Ustawienia ekranu blokady są wymagane na urządzeniach z Androidem 4.1 i nowszym.
- W poszczególnych wersjach systemu operacyjnego Android dostępne są różne elementy sterujące, a na ekranie blokady można wyświetlać tylko pola tekstowe. Ogólnie rzecz biorąc, grafika i ikonyografia opisują treść szybciej niż tekst.
- Gdy telefon jest zablokowany, przyciski sprzętowe do regulacji głośności powinny regulować głośność w aplikacji nadawcy.
- Element sterujący musi korzystać z komponentu platformy:
MediaSession
lubMediaSessionCompat
(w przypadku wersji 4.4 i 4.3) alboNotification
(w przypadku wersji 5.0 i nowszych).
Android
Ustawienia ekranu blokady nadawcy

Odbiornik internetowy odtwarza treści

Nadawca wznawia przesyłanie
Połączona aplikacja nadawcy powinna przywrócić swój stan połączenia po jej pośrednim rozłączeniu (np. utracie sieci, uśpieniu urządzenia lub rozładowaniu baterii).
Wymagane
O Jeśli aplikacja nadawcy pośrednio rozłączy się (użytkownik nie zatrzymał przesyłania ani nie rozłączył się), przesyłanie treści powinno być nadal odtwarzane w odbiorniku internetowym. Po ponownym uruchomieniu aplikacji lub połączenia aplikacja nadawcy powinna przywrócić połączenie z odbiornikiem internetowym, o ile sesja Web Setr jest nadal aktualna.
B Przycisk Cast powinien wrócić do stanu połączenia.
C Jeśli użytkownik kliknie przycisk Cast, zanim nadawca ponownie połączy się z siecią, zostanie wyświetlona lista odbiorników internetowych. Gdy użytkownik wybierze obecnie przesyłany odbiornik internetowy, w aplikacji nadawcy powinien pojawić się mini lub rozwinięty kontroler.
Uwagi
Aplikacja Web pickupr może też rozłączyć się i przestać działać z powodu awarii zasilania lub innej przerwy w działaniu poza kontekstem. Jest to traktowane jako zwykłe zakończenie sesji, zgodnie z opisem w sekcji Nadawca zatrzymuje przesyłanie.
Android
Wybieranie aplikacji

Odbiornik internetowy odtwarza treści

Połączenie przesyłania zostało przywrócone

Odbiornik internetowy odtwarza treści

iOS
Wybieranie aplikacji

Odbiornik internetowy odtwarza treści

Połączenie przesyłania zostało przywrócone

Odbiornik internetowy odtwarza treści

Nadawca zatrzymuje przesyłanie
Treści przesyłane na telewizor są odtwarzane, dopóki użytkownik nie wybierze opcji Zatrzymaj przesyłanie lub nadawca nie prześle czegoś nowego. Gdy z tym samym odbiornikiem internetowym jest połączonych wielu nadawców, w oknie przesyłania każdej aplikacji powinien znajdować się przycisk Rozłącz (zamiast przycisku Zatrzymaj przesyłanie).
Wymagane
O Gdy z odbiornikiem internetowym jest połączonych wielu nadawców, naciśnięcie Zatrzymaj przesyłanie z jednej aplikacji nie powoduje żadnych działań w odbiorniku internetowym, a także powoduje usunięcie elementów sterujących Cast i powiadomień z tego urządzenia. Pozostałe połączone urządzenia nadawcy pozostaną połączone z dostępnymi elementami sterującymi Cast.
B Gdy aplikacja nadawcy zostanie samoczynnie rozłączona (na przykład bateria urządzenia nadawcy się rozładuje lub nastąpi utrata połączenia sieciowego urządzenia nadawcy z odbiornikiem internetowym), nie wpłynie to na odbiornik internetowy i usunie elementy sterujące i powiadomienia przesyłania z urządzenia nadawcy. Aplikacja nadawcy powinna śledzić niejawne rozłączenia i próbować ponownie nawiązać połączenie z odbiornikiem internetowym, gdy aplikacja nadawcy zostanie ponownie otwarta.
Android
Okno przesyłania, przycisk rozłączania

Odbiornik internetowy odtwarza treści

iOS
Okno przesyłania, przycisk rozłączania

Odbiornik internetowy odtwarza treści

Chrome
Okno przesyłania, przycisk rozłączania

Odbiornik internetowy odtwarza treści

Obrazy użyte w tym przewodniku projektowym pochodzą od Blender Foundation i są udostępniane na licencji Creative Commons.
- Elephant's Dream: (c) prawa autorskie 2006, Blender Foundation / Holandia Media Art Institute / www.elephantsdream.org
- Sintel: (c) fundacja Blendera praw autorskich | www.sintel.org
- Tears of Steel: (CC) Blender Foundation | mango.blender.org
- Big Buck Bunny: (c) prawa autorskie 2008, Blender Foundation / www.bigbuckbunny.org