Zmiany są opisane poniżej i aktualizowane w dokumentacji API w przypadku każdej nowej wersji Google Cast, która zostaje udostępniona. Zmiany na liście kontrolnej dotyczącej projektu znajdziesz w historii zmian.
18 kwietnia 2024 r.
iOS Sender 4.8.1
- Minimalną wersją obsługiwaną przez pakiet SDK Cast jest teraz iOS 14.
- Plik manifestu prywatności dołączony do pakietu wraz z podpisanym plikiem xcframework.
- Tryb gościa został wycofany i usunięty. Z tej wersji będzie można zintegrować pakiet SDK o jednym rodzaju.
- Usunięto awarię, która występowała, gdy krótka reklama była czasami odtwarzana podczas przesyłania.
11 grudnia 2023 r.
Odbiornik internetowy 3.0.0122
- Dodaliśmy obsługę bloków reklamowych i bufetu z reklamami na potrzeby VAST.
- Zaktualizowany interfejs sterowania multimediami w odtwarzaczu Cast na urządzeniach Google TV.
- Do obiektu
Track
dodano nowe poleaudioTrackInfo
. - Dodano
cast.framework.system.Message
, który reprezentuje wiadomość otrzymaną od nadawcy lub do niego wysłaną. - Zmieniono logikę przerwy w wyszukiwaniu. Teraz odbiornik internetowy tworzy syntetyczną przerwę
seek-{timestamp}
tylko wtedy, gdy zwrócono więcej niż 1 przerwę zBreakManager#setBreakSeekInterceptor
. W przeciwnym razie przerwa wyszukiwania pozostanie taka sama jak pierwotna przerwa na osi czasu. - Dodano opcję
CastReceiverOptions#shakaVariant
umożliwiającą wczytywanie wersji debugowania Shaka Player w CAF. -
Naprawiono brak rozpoznawania
PlaybackConfig#licenseRequestHandler
iPlaybackConfig#licenseResponseHandler
przez Shaka dla HLS przy szyfrowaniu AES-128. - Naprawiono element
ID3Event
nie był uruchamiany, gdy używany jest odtwarzacz Shaka. - Naprawione ścieżki tekstowe ładowane z boku, gdy używane są reklamy przed filmem.
- Naprawiono renderowanie tekstu przy korzystaniu z interfejsu
UITextDisplayer
. - Naprawiono różne problemy z rozróżnianiem wielkości liter w nazwach VAST, typów MIME i nazw systemów ochrony treści.
- Naprawiono różne problemy z wymuszonymi napisami.
- Naprawiliśmy wypełnianie kodów
EndedReason
zdarzeńBREAK_CLIP_ENDED
.
4 grudnia 2023 r.
Nadawca w Androidzie 21.4.0 i Odbiornik Android TV 21.0.1
-
Udostępniono play-services-cast:21.4.0 i play-services-cast-framework:21.4.0
- Wartość parametru minSdkVersion zwiększono z 16 do 19.
-
Zaktualizowano w celu dopasowania do androidx.mediarouter:mediarouter:1.6.0-beta01. Dzięki temu
MediaRouteButtons
będzie domyślnie widoczna. Pozwoliło to ograniczyć w sytuacjach, w których wykrywanie urządzeń przesyłających jest uruchamiane automatycznie bez działania ze strony użytkownika. -
Dodano
CastOptions.Builder#setSessionTransferEnabled
, aby określić, czy aplikacja nadawcy ma wyświetlać urządzenia przesyłające, gdy włączony jest przełącznik wyjścia. Wartość domyślna to true (prawda). -
Reguły
MediaSessions
nie są już tworzone, gdy aplikacje nie ustawiają parametruCastMediaOptions
lub nie ustawiają opcji CastMediaOptions na wartość null. -
Usunięto błąd
MiniControllerFragment
android.view.InflateException
, który mógł występować podczas korzystania zFragmentContainerViews
. -
Dodaliśmy nowe wersje funkcji
CastButtonFactory#setUpMediaRouteButton
, które zwracają wartośćTasks
, nasłuchiwanie przez aplikacje powodzenia lub zgłoszonego wyjątku. Starsze wersje, które nie przyjmują argumentuExecutor
, ignorują ModuleAvailableExceptions i kończą się niepowodzeniem.
-
Premiera play-services-cast-tv:21.0.1
- Wartość parametru minSdkVersion zwiększono z 16 do 19.
- Ta wersja zawiera ulepszenia pod względem jakości
20 lipca 2023 r.
iOS Sender 4.8.0
- Minimalną wersją obsługiwaną przez pakiet SDK na iOS jest teraz iOS 13.
- Pierwsza stabilna wersja XCFramework.
- XCFrameworks dostępne w przypadku Cocoapods.
- Przywrócono funkcję sterowania głośnością za pomocą fizycznych przycisków głośności podczas odtwarzania multimediów.
- Przycisk przesyłania uwzględnia teraz kolor odcienia, gdy jest używany na pasku nawigacyjnym.
- Kolor tytułu nawigacji można teraz dostosować za pomocą interfejsu GCKUIStyle API.
- Rozwiązaliśmy problem z przezroczystym paskiem nawigacyjnym w widoku listy napisów ścieżek multimediów.
- Naprawiono awarię w XCFramework w wersji beta.
- Dodano interfejs API, który umożliwia powiązanie elementu UIControl z działaniami do przodu i do tyłu.
- Dodaliśmy obsługę przesyłania na tabletach Pixel.
6 lipca 2023 r.
Odbiornik internetowy 3.0.0111
-
Dodaliśmy obsługę dynamicznego wstawiania reklam za pomocą
BreakManager
addBreak(breakData, breakClips, broadCastMediaStatus)
iremoveBreakById(breakId)
. -
Do plików manifestu Smooth dodano analizę ciągu znaków
Subtype
. -
Dodaliśmy obsługę żądań asynchronicznych w
manifestRequestHandler
,segmentRequestHandler
ilicenseRequestHandler
dla Shaka Playera. - Dodano obsługę wymuszonych napisów.
- Zmieniono domyślną wersję Shaka dla CAF do 4.3.4.
-
Doprecyzowano opis parametru
setActiveByIds
. - Poprawiono sposób wyboru poszczególnych ścieżek audio przez CAF.
- Poprawiono konwersje typu treści żądania w przypadku filtrów żądania Shaka.
-
Dodaliśmy możliwość wysyłania zapytań o
CreativeInformation
związanych zBreakClip
wBreakManager
getCreativeInfoByClipId(breakClipId)
. - Naprawiono brak metadanych multimediów podczas wczytywania elementu multimedialnego na urządzeniach kontrolowanych przez DPad.
-
Dodano właściwości
hlsSegmentFormat
ihlsVideoSegmentFormat
do:BreakClip
. - Naprawiono porównanie typów MIME z uwzględnieniem wielkości liter za pomocą MPL.
- Naprawiono nieskończone buforowanie HLS (oparte na TS) podczas wczytywania za pomocą Shaka Playera.
-
Naprawiliśmy działanie
PlayerDataBinder
w przypadku zdarzeniaIS_AT_LIVE_EDGE_CHANGED
. - Naprawiono zapętlenie nieskończone na niewystarczającej ilości danych dostarczanych w segmentach TS przy użyciu MPL.
-
Dodano
error.stack
dla błędów odtwarzacza Shaka. -
Zmieniono użycie pola
audioMimeType
zamiastaudioCodec
z obiektu śledzenia Shaka Player do wypełniania polacast.framework.messages.Track.trackContentType
w przypadku ścieżek wariantów. -
Dodano
shaka.extern.track.label
docast.framework.messages.Track.name
w przypadku utworów Shaka Player. -
Rozwinięto obiekt
cast.framework.stats.Stats
, aby uwzględnić istniejące pola wshaka.extern.Stats
. - Poprawiono obliczanie czasu wyświetlania multimediów w przypadku treści z rozwiniętymi osadzonymi przerwami.
28 marca 2023 r.
Nadawca w Androidzie 21.3.0 i Odbiornik Android TV 21.0.0
-
Udostępniono play-services-cast:21.3.0 i play-services-cast-framework:21.3.0
-
Do publikowania powiadomień dotyczących przesyłania multimediów służy teraz
NotificationManager
, a nieForeground Service
. -
Dodano nowy element
CastReasonCodes#CAST_CANCELLED
wskazujący anulowanie sesji przesyłania.
-
Do publikowania powiadomień dotyczących przesyłania multimediów służy teraz
-
Premiera play-services-cast-tv:21.0.0
- Poprawiono adnotację o wartości null w polu
MediaManager
.
- Poprawiono adnotację o wartości null w polu
17 października 2022 r.
Odbiornik internetowy 3.0.0105
- Uaktualniono odtwarzacz Shaka do wersji 3.2.11.
-
Dodano
cast.framework.PlaybackConfig#enableUITextDisplayer
, aby umożliwić wyświetlanie napisów w odtwarzaczu Shaka za pomocą DOM. -
Dodano
cast.framework.CastReceiverOptions#shakaVersion
icast.framework.CastReceiverOptions#useShakaForHls
, aby umożliwić odbiornikom korzystanie z odtwarzacza Shaka do odtwarzania HLS. -
PlaybackConfig#manifestHandler
,PlaybackConfig#segmentHandler
iPlaybackConfig#licenseHandler
mają teraz dostęp do nagłówków odpowiedzi HTTP. -
Dodano element
customData
do tabeliCommandAndControlManager#ErrorResponseData
, gdy komunikatLOAD_BY_ENTITY
zakończy się błędem.
10 października 2022 r.
Android Sender 21.2.0
-
Udostępniono play-services-cast:21.2.0 i play-services-cast-framework:21.2.0
-
Wprowadziliśmy funkcję
Output Switcher
. -
Dodano nowy interfejs API
Cast.Listener#onDeviceNameChanged()
do powiadamiania o zmianie nazwy urządzeniastream transfer
. -
Wycofano
CastOptions.Builder#setVolumeDeltaBeforeIceCreamSandwich(double)
iCastOptions#getVolumeDeltaBeforeIceCreamSandwich()
. -
Poprawiono
ForegroundServiceStartNotAllowedException
zMediaNotificationService
. -
Zaktualizowano
MediaNotificationService
oMedia controls in System UI
. -
Zaktualizowano interfejsy API
RemoteMediaClient
, tak aby akceptowała wartości null (customData
). -
Zaktualizowano
MediaInfo.Builder
, aby akceptowaćcontentId
lubcontentURL
. -
Zaktualizowano
ImagePicker#onPickImage
, aby akceptowała wartości null (MediaMetadata
). -
Zależność
com.google.android.datatransport:transport-api
została zaktualizowana do najnowszej wersji.
-
Wprowadziliśmy funkcję
8 sierpnia 2022 r.
Nadawca w Androidzie 21.1.0 i Odbiornik Android TV 20.0.0
-
Udostępniono play-services-cast:21.1.0 i play-services-cast-framework:21.1.0
-
Wycofano:
CastContext#getSharedInstance(Context)
. Zamiast tego użyj koduCastContext#getSharedInstance(Context, Executor)
, który zwraca interfejs Task API, iModuleUnavailableException
do obsługi wyjątku, gdy pakiet SDK Cast nie załaduje wewnętrznego modułu przesyłania. -
Wycofano:
ApplicationMetadata#getImages()
. Zamiast niego użyj parametruApplicationMetadata#getIconUrl()
, który zwróci obraz aplikacji ustawiony w konsoli programisty Cast. -
Naprawiliśmy błąd
ConcurrentModificationException
, który mógł występować podczas rejestrowania i wyrejestrowywania klastraMediaQueue.Callbacks
. -
Poprawiono błąd
MediaInfo#getStreamDuration()
w transmisjach na żywo. -
Naprawiono ograniczenia dotyczące trampoliny dla aplikacji
MediaNotificationService
na Androidzie S. -
Rozwiązaliśmy problem z wyciekiem odwołania do aktywności w usłudze
CastContext
. - Naprawiono błąd, który powodował, że w reklamie zamiast rozmytego obrazu wyświetlany był ostry obraz tła.
-
Wycofano:
-
Premiera play-services-cast-tv:20.0.0
- Podskoczył(a)
minSdkVersion
z 14 na 16. -
Naprawiono problem z argumentem
MediaManager#setSessionCompatToken(MediaSession.CompatToken)
, który powodował, że argument null nie był prawidłowo obsługiwany.
- Podskoczył(a)
31 marca 2022 r.
Odbiornik internetowy 3.0.0103, odtwarzacz MPL 1.0.0.113
- Domyślna wersja odtwarzacza Shaka została uaktualniona do 3.2.2.
-
Dodano nowy interfejs API
cast.framework.PlaybackConfig#shakaConfig
, który umożliwia zastąpienie wersji odtwarzacza Shaka i innych opcji Shaka. -
Dodano nowy interfejs API
cast.framework.ui.Controls#hasMediaControlsOverlay()
do sprawdzania, czy nakładka sterowania multimediami jest renderowana na aplikacji. -
Dodano nowy styl (
cast.framework.ui.ControlsButton.LIKE_HEART
) dla działania „Lubię to” użytkownika. -
Wartość
currentMediaTime
danych zdarzeniacast.framework.events.EventType.BREAK_CLIP_ENDED
odpowiada teraz aktualnemu czasowi ostatniego klipu przerwy w momencie wystąpienia zdarzenia. -
Dodano metodę
cast.framework.PlayerManager#getRawCurrentTimeSec
, która zwraca czas mediów elementu multimedialnego. -
Dodano
cast.framework.NetworkRequestInfo#timeoutInterval
, aby określić limit czasu żądania HTTP dla żądań odtwarzacza. - Naprawiono błędy w MPL w dekodowaniu napisów CEA 608/708 w przypadku demodyfikowanych strumieni audio/V.
- Naprawiono logikę analizy sygnatury czasowej MPL WebVTT tak, aby w przypadku wartości godziny akceptowała więcej niż 2 cyfry.
9 grudnia 2021 r.
Android Sender 21.0.0
- W przypadku Kotlin ulepszyliśmy obsługę dopuszczalności wartości null, ponieważ przypadki naruszenia bezpieczeństwa o wartości null powodowały błąd. Nie będzie to miało wpływu na programistów Java. Deweloperzy Kotlin mogą zauważyć nowe błędy kompilacji, jeśli mają kod, który nie jest bezpieczny dla wartości null.
19 listopada 2021 r.
iOS Sender 4.7.0
- Naprawiono obsługę używania przez nadawcę danych z iOS danych logowania do ATV w Cast Connect.
- Naprawiono błąd, który powodował, że podczas tworzenia za pomocą Xcode 13 paski nawigacyjne miały przezroczyste tło.
-
Usunięto problemy z ułatwieniami dostępu zgłoszone w interfejsie
GCKUICastButton.
- Naprawiono błąd, który powodował, że przełączanie się między Wi-Fi a siecią komórkową powodowało rozłączenie sesji przesyłania, a nie jej zawieszenie.
- Wycofanie obsługi iOS 10 i iOS11, w konsekwencji – architektur 32-bitowych.
- Inne poprawki błędów i usprawnienia.
16 listopada 2021 r.
Android Sender 20.1.0
- Uwaga: aby uniknąć awarii środowiska wykonawczego, aplikacje kierowane na Androida 12 muszą zaktualizować aplikację do Androida Sender w wersji 20.1.0.
- Ulepszenia kolejki
-
Dodano nowe wywołanie zwrotne
itemsReorderedAtIndexes
do MediaQueue, które jest wywoływane po zmianie kolejności kolejki. - Dodaliśmy obsługę serializacji poleceń kolejki.
-
Zmieniono parametr
customData
wRemoteMediaClient#queueSetRepeatMode
na wartość null. - Funkcja wyświetlacza zdalnego została wycofana.
minSdkVersion
spadł z 14 do 16.
26 października 2021 r.
Odbiornik internetowy 3.0.0102
- Uaktualnienie do odtwarzacza Shaka w wersji 3.0.13 (rozwiązuje to z kolei wiele wcześniej zgłoszonych problemów).
- Dodaliśmy obsługę obrazów dodatkowych na inteligentnych ekranach i Chromecastach.
- Rozwiązaliśmy problem, który powodował, że w przypadku buforowanych strumieni nie wyświetlały się napisy z powodu błędu w logice wykrywania zduplikowanych ścieżek.
-
Rozwiązaliśmy problem, który powodował, że wywołanie zwrotne o błędzie odbiorcy nie było uruchamiane, gdy funkcja
LOAD_BY_ENTITY
zwracała błąd. - Dodaliśmy obsługę wysokiej wydajności kodeków audio AAC (HE-AAC) w strumieniach transportu.
-
Naprawiliśmy błąd, który powodował, że funkcja
PlayerManager.getStats()
nie zwracała prawidłowych wartości wysokości i szerokości. -
Usunęliśmy informacje o VAST i VMAP z wiadomości
MediaStatus
, aby uniknąć przepełnienia, które mogłyby doprowadzić do rozłączenia nadawcy i odbiorcy. -
Rozwiązaliśmy problem, który powodował, że w przypadku pomijania reklam nadawcy nie był dostarczany
endedReason
. - Rozwiązaliśmy problem z usuwaniem przerw na reklamy z kolejki wczytywania przed odtworzeniem.
-
Dodano nowe pole
cast.framework.message.QueueChange#reorderItemIds
, które zawiera listę elementów kolejki, na które wpływa operacjaQUEUE_CHANGE
. - Zmniejszono buforowanie w transmisjach na żywo HLS w MPL podczas przełączania między ścieżkami audio, dzięki czemu dźwięk i obraz są teraz zsynchronizowane.
- Naprawiono analizę strumieni HLS w plikach MPL z osadzonymi napisami CEA608/CEA708.
- Jeśli odtwarzanie multimediów będzie wstrzymane na ponad 5 sekund, elementy sterujące multimediami na urządzeniu Chromecast z Google TV zostaną ukryte.
26 maja 2021 r.
iOS Sender 4.6.1
- Rozwiązaliśmy problem z zawieszaniem sesji przesyłania w tle dla aplikacji, które umożliwiają wykonywanie w tle.
17 maja 2021 r.
iOS Sender 4.6.0
- Zmieniliśmy domyślne działanie przycisku Cast, aby zawsze wyświetlał się po połączeniu z Wi-Fi.
- Dodaliśmy nowe okno pomocy, które wyświetla się, gdy użytkownik kliknie przycisk Cast i nie znajdzie żadnych urządzeń.
-
Wycofany interfejs API
GCKUICastButton::triggersDefaultCastDialog
. -
Dodaliśmy bardziej jednolitą obsługę dostosowywania okna w przypadku aplikacji, które implementują niestandardowy interfejs użytkownika za pomocą nowego interfejsu API
GCKUICastButtonDelegate
. - Dodaliśmy obsługę trybu ciemnego na urządzeniach z systemem iOS 13 lub nowszym.
-
Dodano dostosowanie znaczników reklam do zasobu
GCKUIStyleAttributes
. -
Dodano obsługę
hlsSegmentFormat
ihlsVideoSegmentFormat
do multimediów. - Poprawki błędów i lepsze działanie aplikacji.
29 kwietnia 2021 r.
Odbiornik internetowy 3.0.0096
20 kwietnia 2021 r.
Nadawca w Androidzie 20.0.0 i Odbiornik Android TV 18.0.0
-
Udostępniono play-services-cast:20.0.0 i play-services-cast-framework:20.0.0.
- Usunięto Menedżera gier i powiązane interfejsy API. Zostały one wycofane w 2017 roku.
-
Dodano klasę
SessionState
do biblioteki klienta przesyłania. -
Dodano właściwości
CastReasonCodes
, aby podać szczegółowe wyjaśnienia dotyczące zasobuCastStatusCodes
. Użyj metodyCastContext#getCastReasonCodeForCastStatusCode(int)
, aby tłumaczyć z językaCastStatusCodes
naCastReasonCodes
. -
Dodano
HlsSegmentFormat
iHlsVideoSegmentFormat
doMediaInfo.Builder
. -
Oznaczono wartość
foregroundServiceType
dlaMediaNotificationService
jakomediaPlayback
. -
Zaktualizowano zależności
com.google.android.datatransport:transport-api
do najnowszej wersji. -
Dodano konstruktor
MediaLoadRequestData.Builder
do kompilacji z obiektuMediaLoadRequestData
. - Rozwiązaliśmy problem z przyciskiem odtwarzania/wstrzymywania w miniodtwarzaczu podczas przełączania się z VOD na transmisję NA ŻYWO.
-
Wdrożono
MediaIntentReceiver#ACTION_DISCONNECT
w przypadku powiadomień o przesłanych multimediach.
-
Premiera play-services-cast-tv:18.0.0:
-
Do biblioteki cast-tv dodano klasy
StoreSessionRequestData
iStoreSessionResponseData
.
-
Do biblioteki cast-tv dodano klasy
5 kwietnia 2021 r.
Odbiornik internetowy 3.0.0095
- Uaktualniono odtwarzacz Shaka do wersji 3.0.10.
-
Przycisk Cast wyświetla się teraz domyślnie, gdy obsługiwane jest polecenie multimediów
STREAM_TRANSFER
. - Dodano pasek sugestii u dołu interfejsu przeglądania multimediów. Pasek sugestii zawiera interaktywne elementy, które po wybraniu mogą odtwarzać element multimedialny lub przewijać dostępne elementy multimedialne. Każdy element jest też mapowany na dostępne polecenie Asystenta Google. Elementy sugestii są obecnie obsługiwane tylko wtedy, gdy język systemu jest ustawiony na angielski lub japoński.
- Naprawiono błąd w Chromecaście z Google TV, który powodował, że podczas przesyłania zdjęć do domyślnego odbiornika wyświetlała się nakładka sterowania multimediami.
- Dodano obsługę wydarzenia
TRACKS_CHANGED
.
18 grudnia 2020 r.
Odbiornik internetowy 3.0.0085
-
W
CastReceiverOptions
dodaliśmy opcje wyłączania wczytywania Shaka i MPL.
3 grudnia 2020 r.
iOS Sender 4.5.3
-
Naprawiono błąd czasu wczytywania „Niezdefiniowane symbole dla gałęzi architektury64” dla interfejsu
GCKCredentialsData
. -
Poprawiliśmy błąd kompilatora związany z konfliktem wartości null w
GCKCredentialsData
. -
Jeśli brakuje wymaganych wpisów usługi Bonjour w
Info.plist
, komunikaty ostrzegawcze są teraz rejestrowane.
4 listopada 2020 r.
iOS Sender 4.5.2
-
Zaktualizowano minimalną wersję biblioteki
Protobuf
do wersji 3.13 w CocoaPods. Użycie poprzednich wersjiProtobuf
spowoduje awarię pakietu SDK. - Ta wersja jest dostępna tylko w CocoaPods i korzysta z tego samego pliku binarnego co wersja 4.5.1.
13 października 2020 r.
iOS Sender 4.5.1
-
Rozwiązaliśmy problem, który powodował, że funkcja
GCKUICastButton
z niestandardowym selektorem urządzenia nie była aktualizowana, aby odzwierciedlać prawidłowy stan przesyłania. - Naprawiliśmy ostrzeżenie „Konflikt specyfikatora wartości null w typach zwracanych”.
14 września 2020 r.
Odbiornik internetowy
- Uaktualniono odtwarzacz Shaka do wersji 2.5.16.
iOS Sender 4.5.0
- Dodaliśmy obsługę zmian związanych z wykrywaniem urządzeń przesyłających w iOS 14, co wymaga wyraźnej zgody użytkownika przy pierwszym przesyłaniu. Więcej informacji znajdziesz w sekcji Pierwsze przesyłanie w systemie iOS 14.
- Zaktualizowano minimalną obsługę pakietu SDK do iOS 10.
8 września 2020 r.
Web Sender
- Wdrożenie usługi Cast Connect, która umożliwia aplikacjom Chrome przesyłanie treści do aplikacji na Androida TV. Szczegółowe informacje znajdziesz w dokumentacji odbiornika Android TV.
31 sierpnia 2020 r.
Odbiornik internetowy
- Dodano obsługę #EXT-X-DATERANGE w HLS / EventStream w DASH.
3 sierpnia 2020 r.
Nadawca w iOS 4.4.8
- Wprowadziliśmy usługę Cast Connect, która umożliwia aplikacjom na iOS przesyłanie treści na aplikacje na Androida TV. Szczegółowe informacje znajdziesz w dokumentacji odbiornika Android TV.
29 lipca 2020 r.
Nadawca Android 19.0.0 i Odbiornik Android TV 17.0.0
-
Wprowadziliśmy usługę Cast Connect, dzięki której aplikacje na Androida TV są zgodne z protokołem przesyłania, dzięki czemu działają jak aplikacje odbierające. Szczegółowe informacje znajdziesz w dokumentacji odbiornika Android TV.
- Opublikowano pakiet play-services-cast-tv:17.0.0 jako pakiet SDK odbiornika dla aplikacji na Androida TV.
- Opublikowano funkcję play-services-cast:19.0.0 i play-services-cast-framework:19.0.0, w tym interfejsy API dla nadawców Cast Connect i interfejsy API używane przez play-services-cast-tv.
-
Aktualizacje interfejsu API:
-
Wycofano typ
AdBreakStatus#AD_BREAK_CLIP_NOT_SKIPPABLE
. Zamiast niego użyj typuAdBreakClipInfo#AD_BREAK_CLIP_NOT_SKIPPABLE
. -
Nazwa
CastRemoteDisplayLocalService#getDisplay()
została zmieniona naCastRemoteDisplayLocalService#getCastRemoteDisplay()
, aby uniknąć konfliktu interfejsów API w Androidzie 11. -
Dodano
getCustomData()
igetType()
do tabeliMediaError
. -
Dodano szczegółowe obsługiwane stałe bity poleceń (
MediaStatus#COMMAND_*
) wMediaStatus
. -
Grupa eksperymentalna:
MediaTrack#getRoles()
. -
Grupa eksperymentalna:
RemoteMediaClient.Callback#onMediaError()
.
-
Wycofano typ
13 lipca 2020 r.
Odbiornik internetowy
- Ulepszyliśmy wykrywanie kategorii multimediów w domyślnym interfejsie (wideo i dźwięk).
- Dodano obsługę czasu bezwzględnego transmisji na żywo z aplikacji Shaka Player.
- Rozwiązaliśmy problem z zakłóceniami w dźwięku na urządzeniach Nest Hub Max.
- Uaktualniono odtwarzacz Shaka do wersji 2.5.12.
4 maja 2020 r.
Odbiornik internetowy
- Teraz można konfigurować wartości czasu oczekiwania dla poleceń Asystenta Google.
- Szczegółowe kody błędów MPL są teraz widoczne w zdarzeniach błędów.
-
Obsługiwane polecenia związane z multimediami można teraz wymuszać za pomocą flagi
enforceSupportedCommands
. - Naprawiliśmy obsługiwane polecenia zgłaszane podczas przerwy w odtwarzaniu.
- Rozwiązaliśmy problem z żądaniem losowego wczytywania przez Asystenta.
- Naprawiliśmy błąd w wartościach parametru
getStats
.
12 marca 2020 r.
Odbiornik internetowy
-
Do aplikacji
deviceCapabilities
dodano nowe możliwości urządzenia:IS_CBCS_SUPPORTED
. - Uaktualniono odtwarzacz Shaka do wersji 2.5.8.
27 lutego 2020 r.
iOS Sender w wersji 4.4.7
- Naprawiliśmy fizyczne przyciski głośności w aplikacjach, które nie korzystają z komponentów interfejsu z pakietu SDK.
-
Rozwiązaliśmy problem z etykietą
currentTime
w rozwiniętym kontrolerze podczas wielokrotnego naciskania przycisków do przodu lub do tyłu. -
Elementy multimedialne w pliku
GCKMediaQueue
są zachowywane po przeniesieniu aplikacji do tła. -
Zmiany w dostosowywaniu interfejsu:
- Pasek postępu minikontrolera można teraz dostosować.
- Kolor tła paska nawigacyjnego i paska narzędzi w oknie przesyłania można teraz dostosować.
- Rozwiązano problemy z interfejsem dotyczące iPhone'a X.
- Naprawiono kilka problemów powodujących przestoje i awarie.
24 lutego 2020 r.
Android Sender 18.1.0
-
Dodano wstępnie zdefiniowane stałe stałe
MediaError
szczegółowe kody błędów i przyczyny błędu.
22 stycznia 2020 r.
Odbiornik internetowy
- Rozwiązaliśmy problem, który powodował przesyłanie wielu stanów multimediów podczas zmiany obsługiwanych poleceń.
Odbiornik w wersji 2
- Popraw wybór szybkości transmisji bitów na potrzeby reklam VAST.
MPL
- Dodaliśmy obsługę wstępnego pobierania klucza sesji. Więcej informacji znajdziesz w wersji roboczej HTTP transmisji na żywo (2nd Edition).
7 stycznia 2020 r.
Odbiornik internetowy
-
W
cast.framework.events.EmsgEvent
dodano obsługę metadanych czasowych ID3. Dodatkowo w przypadku treści HLS/CMAF wysyłany jest teżEmsgEvent
. -
Rozwiązaliśmy problem, który powodował, że podczas przenoszenia do nowej sesji multimediów nie było danych odtwarzacza w okresie
PLAYER_LOAD_COMPLETE
. - Rozwiązaliśmy problem, który powodował, że ikona multimediów nachodziła na numer klipu przerwy i odliczanie.
- Rozwiązaliśmy problem polegający na tym, że odliczanie pierwszego klipu z przerwami zawsze było wyświetlane 0:00.
- Uaktualniono odtwarzacz Shaka do wersji 2.5.6.
Odbiornik internetowy w wersji 2
-
Do aplikacji
deviceCapabilities
dodano nowe możliwości urządzenia:IS_DEVICE_REGISTERED
. Jeśli jest skonfigurowana, urządzenie przesyłające jest rejestrowane w konsoli programisty Cast na potrzeby debugowania. - Naprawiono problem z opóźniającym się wczytywaniem.
- Teraz przy każdym nieudanym elemencie kolejki wysyłane są osobne komunikaty o błędach multimediów.
MPL
- Rozwiązaliśmy problem z transmisjami na żywo, które powodowały, że dźwięk był nadal odtwarzany przez pewien czas po otrzymaniu wiadomości o zatrzymaniu.
- Rozwiązaliśmy problem, który powodował, że podczas zmiany poziomu jakości były widoczne artefakty kompresji wideo.
- Rozwiązaliśmy problem, który powodował, że w przypadku strumieni HLS korzystających z segmentów *.m4s występowały błędy.
5 grudnia 2019 r.
Android Sender 18.0.0
-
Dodano
setMediaSessionEnabled
dla programistów, aby włączać i wyłączać sesję multimediów utworzoną przez pakiet SDK Cast. - Zmieniono sposób wyświetlania powiadomień o multimediach podczas sesji przesyłania. Jeśli powiadomienia o multimediach są włączone, będą one zawsze wyświetlane podczas sesji przesyłania. Wcześniej była widoczna tylko wtedy, gdy aplikacja działała w tle.
-
Zmieniono niektóre klasy związane z multimediami, aby wdrożyć interfejs
Parcelable
.
11 listopada 2019 r.
iOS Sender w wersji 4.4.6
- Naprawiono błąd związany z minimalną obsługiwaną wersją iOS 9.
7 października 2019 r.
Odbiornik internetowy
- Role widoczne w ścieżkach są częścią metadanych ścieżek.
- Uaktualniono Shaka Player do wersji 2.5.5.
23 września 2019 r.
iOS Sender w wersji 4.4.5
- Ulepszona obsługa wykrywania urządzeń przesyłających i zarządzania sesjami.
-
Do aplikacji
GCKMediaStatus
dodano nowe polecenia związane z multimediami. -
Dodano właściwość
whenSkippable
do tabeliGCKAdBreakStatus
. - Poprawki interfejsu Google Ads i iOS 13.
11 września 2019 r.
Android Sender 17.1.0
-
Do interfejsu
RemoteMediaClient.MediaChannelResult dodano pole
MediaError
, które umożliwia uzyskanie dostępu do szczegółowego kodu błędu związanego z błędnymi poleceniami multimedialnymi. -
MediaStatus.COMMAND_SKIP_FORWARD
iMediaStatus.COMMAND_SKIP_BACKWARD
zostały wycofane. Aplikacje powinny używaćMediaStatus.COMMAND_QUEUE_NEXT
iMediaStatus.COMMAND_QUEUE_PREVIOUS
. -
Dodano nową zależność do:
com.google.android.datatransport:transport-api:2.0.0
.
9 września 2019 r.
Odbiornik internetowy
-
Jeśli następny element jest wstępnie wczytywany, w odtwarzaczu domyślnym typu
TV_SHOW
jest teraz widoczny podgląd „Następne”. -
Dodano klasę
ContentRating
do przestrzeni nazwcast.framework.messages
. -
Zaktualizowaliśmy domyślny tytuł audio interfejsu, tak aby element
metadata.artist
miał pierwszeństwo przed materiałemmetadata.albumArtist
. - Dodaliśmy obsługę ujemnych wartości startTime, aby wskazywać czas rozpoczęcia w odniesieniu do końca treści lub krawędzi aktywnej.
- Przeglądanie multimediów:
- Panel przeglądania multimediów jest teraz automatycznie ukrywany po 30 sekundach braku aktywności użytkownika.
- W prawym górnym rogu nakładki przeglądania multimediów dodano przycisk Odtwórz/Wstrzymaj oraz miniaturę elementu multimedialnego.
- Zaktualizowano sposób działania listy przeglądania multimediów. Teraz za każdym razem, gdy konfigurowane są treści, przewijanie w poziomie jest przywracane do początkowej skrajnej lewej pozycji.
- Poprawki błędów:
-
Opóźniona obietnica zakończenia
BasePlayer
, która umożliwia uruchamianie zdarzeń związanych z elementem multimedialnym. - Usunięto błąd wstępnego wczytywania reklam.
- Znak wodny jest teraz wyświetlany razem z pozostałymi metadanymi.
-
Domyślny interfejs audio na Chromecaście obsługuje style
.progressBar
. - Wyeliminowano wyświetlanie „Nieaktywnych reklam” na ekranie przed ładowaniem i między kolejnymi elementami multimedialnymi.
- Naprawiono opóźnienie przewijania treści Dashi.
Odbiornik internetowy w wersji 2
-
Dodano klasę
ContentRating
do przestrzeni nazwcast.receiver.media
. - Naprawiliśmy błąd polegający na tym, że dane o błędach były rozpowszechniane nieprawidłowo, gdy w kolejce było wiele elementów.
Biblioteka odtwarzacza multimediów
- Dodano atrybuty HLS #EXT-X-MEDIA do interfejsu API.
- Poprawki błędów:
- Rozwiązaliśmy problem z nieudanymi operacjami SourceBuffer remove(), które powodowały przełączanie ścieżki audio i nieprawidłowe odtwarzanie.
- Rozwiązaliśmy problem z analizą, który występował, gdy określono typ formatu spakowanego dźwięku (np. *.ec3), ale używane były segmenty oparte na formacie MPEG-4 (np. *.mp4, *.mp4a itp.).
- Rozwiązaliśmy problem HLS, który powodował, że napisy w paśmie CEA608 wyświetlały się z widocznym opóźnieniem.
- Naprawiony problem z HLS i płynną treścią bez problemów z wczytywaniem dźwięku.
27 sierpnia 2019 r.
Web Sender
- Web Sender używa teraz nowej składni elementów niestandardowych w wersji 1. Ta wersja zastępuje wersję v0, która została wycofana.
-
Naprawiono zmienione zdarzenia dla elementów
breakTime
,breakClipTime
iliveSeekableRange
przy użyciu nowych funkcjigetEstimatedBreakTime
,getEstimatedBreakClipTime
igetLiveSeekableRange
dodanych do Chrome M77.
12 sierpnia 2019 r.
iOS Sender w wersji 4.4.4
- Lepsze działanie systemu na iOS 13.
- Ulepszona obsługa wykrywania urządzeń przesyłających.
30 lipca 2019 r.
Odbiornik internetowy
- Uaktualniono Shaka Player do wersji 2.5.1.
- Rozwiązaliśmy problem polegający na tym, że nakładka metadanych zbyt szybko znikała podczas wczytywania treści.
- Naprawiono obsługę odrzucenia w module przechwytującym obciążenie w celu wyczyszczenia stanu wczytywania.
- Zaktualizowano:
setBrowseContent
, aby można było używać wartości null. - Rozwiązanie problemu polegającego na tym, że bieżący czas był nieprawidłowy podczas przewijania przerw na reklamę.
- Dodano obsługę ignoreTtmlPositionInfo ignorowania pozycjonowania napisów TTML.
- Ulepszona obsługa błędów wczytywania:
- Unikanie uruchamiania wielu komponentów
MediaFinishedEvent
. - Wywołanie błędu menedżera multimediów w celu wyczyszczenia błędu podczas wczytywania odtwarzacza.
22 lipca 2019 r.
iOS Sender w wersji 4.4.3
- Ulepszyliśmy obsługę błędów wczytywania dzięki funkcji error_reason.
- Opublikowaliśmy wersję pakietu SDK bez trybu gościa.
17 czerwca 2019 r.
Android Sender 17.0.0
- Najnowszy pakiet SDK przechodzi z bibliotek pomocy Androida na biblioteki Jetpack (AndroidX). Biblioteki nie będą działać, jeśli nie wprowadzisz w aplikacji tych zmian:
-
Uaktualnij
com.android.tools.build:gradle
do wersji 3.2.1 lub nowszej. - Uaktualnij aplikację
compileSdkVersion
do wersji 28 lub nowszej. - Zaktualizuj aplikację, aby używać aplikacji Jetpack (AndroidX). Wykonaj instrukcje z sekcji Migracja na AndroidaX.
- Więcej informacji znajdziesz w artykule Informacje o wersji interfejsów API Google na Androida.
10 czerwca 2019 r.
Odbiornik internetowy
- Wprowadziliśmy obsługę przeglądania multimediów – nowej funkcji odkrywania treści na inteligentnych ekranach.
- Dodaliśmy lokalizację w domyślnym interfejsie dla 9 nowych języków:
- duński
- angielski (Wlk. Brytania)
- angielski (Indie)
- angielski (Singapur)
- francuski (Kanada)
- włoski
- norweski
- niderlandzki
- szwedzki
- Usunęliśmy zaokrąglone rogi okładki albumu ze zdalnego interfejsu.
- Poprawki błędów dotyczących transmisji na żywo i innych funkcji.
iOS Sender w wersji 4.4.2
- tryb gościa
- Dodaliśmy obsługę opcji „Włącz tryb gościa” w konsoli programisty Cast.
- Rozwiązaliśmy problem z zarządzaniem sesją w trybie gościa.
- Poprawki błędów
- Naprawiono problem z lokalizacją w wersji 4.4.1.
24 kwietnia 2019 r.
iOS Sender w wersji 4.4.1
- Wprowadziliśmy obsługę wersji alfa transmisji na żywo. Szczegółowe informacje znajdziesz w przewodniku dla programistów.
- Dodaliśmy nowe struktury danych i atrybuty dotyczące stanu transmisji na żywo.
- Dodano nowe klucze GCKMediaMetadata.
- Dodano polecenia multimedialne w transmisji na żywo:
- [GCKRemoteMediaClient loadMediaWithLoadRequestData:]
- [GCKRemoteMediaClient applyWithOptions:]
- Ulepszony, rozszerzony interfejs kontrolera do obsługi transmisji na żywo:
- Zmieniono układ i wygląd rozwiniętego kontrolera.
- Poprawki błędów
- Naprawiono dolną część GCKUICastContainerViewController na iPhonie X.
- Rozwiązaliśmy problem z ponownym połączeniem, gdy system operacyjny wykonuje szeroko zakrojone działania sieciowe.
- Rozwiązaliśmy problem z inicjowaniem etykiety ułatwień dostępu za pomocą GCKUICastButton.
23 kwietnia 2019 r.
Odbiornik internetowy
- Wprowadziliśmy obsługę wersji alfa transmisji na żywo. Szczegółowe informacje znajdziesz w przewodniku dla programistów.
- Zaktualizowany interfejs, pod kątem obsługi transmisji na żywo, w tym wskaźnik transmisji na żywo.
- Dodano pole mediaCategory do stanu multimediów, aby wskazać, czy multimedia to film, dźwięk czy zdjęcie.
- Poprawki błędów
- Poprawiono wykorzystanie wartości zwracanej przez funkcję redirectConfig.segmentHandler.
Biblioteka odtwarzacza multimediów
- Dodano obsługę kodeka HEVC do HLS w MPL.
Web Sender
- Wprowadziliśmy obsługę wersji alfa transmisji na żywo. Szczegółowe informacje znajdziesz w przewodniku dla programistów.
- Wprowadziliśmy obsługę reklam. Szczegółowe informacje znajdziesz w przewodniku dla programistów.
- Dodano funkcję RemotePlayerController.skipAd() na potrzeby reklam możliwych do pominięcia.
Android Sender 16.2.0
- Wprowadziliśmy obsługę wersji alfa transmisji na żywo. Szczegółowe informacje znajdziesz w przewodniku dla programistów.
- Dodaliśmy nowe struktury danych i atrybuty dotyczące stanu transmisji na żywo.
- Dodano nowe klucze MediaMetadata.
- Dodano polecenia multimedialne w transmisji na żywo:
- RemoteMediaClient#load(MediaLoadRequestData)
- RemoteMediaClient#seek(MediaSeekOptions)
- Ulepszony, rozszerzony interfejs kontrolera do obsługi transmisji na żywo:
- Dodaliśmy obsługę transmisji na żywo w rozszerzonych widżetach interfejsu kontrolera.
- Zmieniono układ i wygląd rozwiniętego kontrolera.
- Wprowadziliśmy zgodny z CastSeekBar widżet CastSeekBar, który zastąpił natywny SeekBar.
- Zmodyfikowano ExtendedControllerActivity, aby w celu zapewnienia zgodności transmisji na żywo używać narzędzia CastSeekBar zamiast SeekBar. Metoda ExtendedControllerActivity#getSeekBar() została wycofana i zwróci fikcyjną instancję.
- Dodano nowy stan odtwarzacza MediaStatus#PLAYER_STATE_LOADING:
- Gdy odbiornik internetowy rozpocznie ładowanie multimediów, właściwość PlayerState w MediaStatus jest ustawiona na MediaStatus#PLAYER_STATE_LOADING, dopóki nie rozpocznie się buforowanie lub odtwarzanie treści.
- W większości przypadków aplikacja obsługuje ten stan w taki sam sposób, w jaki obsługuje MediaStatus#PLAYER_STATE_BUFFERING.
- Stany buforowania i wczytywania nie zawsze są wymienne.
- Podczas ładowania odbiornik internetowy nie odczytał jeszcze wszystkich informacji o multimediach, więc jedyne dostępne informacje o multimediach to te, które znajdowały się w żądaniu multimediów obciążenia.
- W trakcie buforowania informacje o multimediach mogą zawierać dodatkowe informacje rozpoznane przez odbiornik.
- Zmodyfikowano metadane MediaMetadata, aby umożliwić obsługę audiobooków:
- Dodano nowe klucze MediaMetadata.
- Dodaliśmy nowy typ metadanych audiobooków.
25 marca 2019 r.
Odbiornik internetowy
-
Zastąpiliśmy użycie
document.registerElement()
właściwościcustomElements.define()
, by zapewnić zgodność pakietu SDK Web odbiornika z nowszymi wersjami platformy Cast. -
MediaStatus.breakStatus
zwraca teraz pusty obiekt, gdy w treści występują przerwy na reklamę, ale w tej chwili reklama nie jest odtwarzana. - Rozwiązaliśmy problem z analizą wbudowanych tagów VAST.
Biblioteka odtwarzacza multimediów
- Usunięto problem z opóźnieniem ok. 20 s przy przełączaniu ścieżki audio.
13 lutego 2019 r.
Odbiornik internetowy
- Naprawiliśmy nagły wygląd przycisku Pomiń reklamę w interfejsie dotykowym.
- Naprawiono wyświetlanie informacji o przerwach na pilocie.
Biblioteka odtwarzacza multimediów
- Naprawiono problem z obsługą elementu LicenseUrl w przypadku wstępnie wczytywanych multimediów.
5 lutego 2019 r.
iOS Sender w wersji 4.3.5
- Dodaliśmy obsługę metadanych audiobooków. Więcej informacji znajdziesz na stronie GCKMediaMetadata.h.
- Ustaw prawidłową wartość static_framework w specyfikacji poda.
- Podziel atrybuty stylestyle dla paska nawigacyjnego i paska narzędzi w kontrolerze połączenia.
- Poprawki błędów
- Usunięto awarię niektórych nieudanych inicjowania bazy danych.
- Rozwiązaliśmy problem z paskiem głośności odbiornika internetowego podczas połączeń przychodzących lub dzwonków alarmu.
- Naprawiono nadmiarowe wywoływanie niektórych metod przekazywania dostępu podczas wykrywania.
- Rozwiązaliśmy problem, który powodował, że lista kolejki multimediów nie była czyszczona po zakończeniu odtwarzania ostatniego elementu w kolejce.
- Wyświetlanie nieosiągalnych urządzeń w pobliżu jest niedozwolone, gdy sieć jest niedostępna.
- Wyłączono suwak głośności na kontrolerze widoku urządzenia w przypadku urządzeń, na których nie można sterować głośnością.