W każdej nowej wersji Google Cast opisujemy zmiany poniżej, a odwołania do interfejsów API są aktualizowane. Informacje o zmianach w listach kontrolnych dotyczących projektu znajdziesz w historii zmian.
28 października 2024 r.
Android Sender 22.0.0 i Android TV Receiver 21.1.1
- Naprawiono potencjalną lukę w zabezpieczeniach typu Denial Of Service znalezioną w bibliotece Protobuf Java Lite.
- Usunięto usługę Media NotificationService. Nie powinny być używane bezpośrednio przez aplikacje.
- Naprawia błąd występujący na urządzeniach z Androidem R lub starszym, na których wyświetlenie zbyt małego obrazu w powiadomieniu Google Cast może prowadzić do awarii interfejsu systemu.
4 września 2024 r. 1 listopada 2024 r.
Odbiornik internetowy 3.0.0133 3.0.0135 3.0.0137
- Domyślna wersja odtwarzacza Shaka używana przez CAF została zaktualizowana z 4.3.4 do 4.9.2. Pełną listę zmian znajdziesz w changelog odtwarzacza Shaka.
- Włączono wstępne wczytywanie treści w odtwarzaczu Shaka. Umożliwia to płynne przełączanie się między elementami multimedialnymi lub przerwami na reklamy.
- Usunęliśmy błędy spowodowane przez przełączanie kodeków przez Shaka.
- Dodaliśmy nowe pole
ErrorSeverity
dla błędów Shaka. Jeśli poziom jestRECOVERABLE
, odtwarzanie nie powinno się zatrzymać. - Usunięto błąd wczytywania treści w przypadku równoczesnych żądań wczytywania.
- Wewnętrznie CAF używa teraz funkcji
shaka.Player#attach
do dołączania elementu multimedialnego zamiast przekazywać go do konstruktorashaka.Player
(wycofanego w interfejsie Shaka API). - Do tabeli
cast.framework.events.Id3Event
dodano polaframeType
iframeDescription
. Te pola są wypełniane, gdy do odtwarzania jest używany odtwarzacz Shaka. - Dodano wydarzenia
REQUEST_GET_STATUS
iREQUEST_PRELOAD
. Te zdarzenia można wykrywać za pomocąPlayerManager#addEventListener
. - Dodaliśmy odpowiedź o błędzie dla żądań wczytywania z nieprawidłową wartością
requestId
zamiast informującą o niepowodzeniu dyskretnym. - Naprawiliśmy dziennik ostrzeżeń dotyczących konfiguracji
jumpLargeGaps
odtwarzacza Shaka, który został wycofany w Shaka 4. - Rozpoczęliśmy wypełnianie
requestId
w wiadomościMediaStatus
w stanieLOADING
. - Ponownie uruchom instancję odtwarzacza Shaka podczas wczytywania nowych treści.
- wycofanie obsługi wycofanego polecenia multimediów
QUEUE_SHUFFLE
; Zamiast tego użyj polaQUEUE_UPDATE
. - Poprawiliśmy obsługę bloków reklamowych VAST, w których każdy tag
<Ad>
ma atrybutsequence
i zagnieżdżony tag<Wrapper>
. - Naprawiono propagację atrybutu
crossorigin
bez wartości z<cast-media-player>
do zagnieżdżonego elementu<video>
. - Udostępnij język dźwięku w pasku w języku MPL.
22 sierpnia 2024 r.
iOS Sender 4.8.3
- Usunęliśmy błąd polegający na tym, że po kliknięciu przycisku przesyłania nie otwierał się selektor urządzeń.
- Rozwiązaliśmy problem, który występował na urządzeniach z systemem iOS 17 i nowszym związany z routingiem AV.
18 kwietnia 2024 r.
iOS Sender 4.8.1
- Minimalna wersja pakietu Cast SDK to teraz iOS 14.
- Plik manifestu prywatności dołączony do pakietu wraz z podpisanym pakietem xcframework.
- Tryb gościa został wycofany i usunięty. Od tej wersji będzie można zintegrować 1 wersję pakietu SDK.
- Naprawiono błąd występujący, gdy podczas przesyłania czasami była odtwarzana krótka reklama.
11 grudnia 2023 r.
Web Receiver 3.0.0122
- Dodaliśmy obsługę modułów reklamowych i bufetu z reklamami w pliku VAST.
- Zaktualizowano interfejs elementów sterujących multimediami w odtwarzaczu Cast na urządzeniach Google TV.
- Dodano nowe pole
audioTrackInfo
do obiektuTrack
. - Dodano
cast.framework.system.Message
, który reprezentuje wiadomość otrzymaną od nadawcy lub do niego wysłana. - Zmieniono logikę przerwy w przewijaniu. Teraz odbiornik internetowy tworzy syntetyczny przerwę
seek-{timestamp}
tylko wtedy, gdy zBreakManager#setBreakSeekInterceptor
zwracanych przerw jest więcej niż 1, w przeciwnym razie przerwa przesunięcia pozostaje równa pierwotnej przerwie na osi czasu. - Dodano opcję
CastReceiverOptions#shakaVariant
do wczytywania wersji debugowania Shaka Player w CAF. -
Rozwiązano problem z rozpoznawaniem nazw
PlaybackConfig#licenseRequestHandler
iPlaybackConfig#licenseResponseHandler
przez Shaka w przypadku HLS w przypadku szyfrowania AES-128. - Rozwiązano problem z uruchamianiem aplikacji
ID3Event
, gdy używany jest odtwarzacz Shaka. - Naprawiono ścieżki tekstowe wczytywane z boku, gdy używane są reklamy przed filmem.
- Naprawiono renderowanie tekstu w przypadku użycia właściwości
UITextDisplayer
. - Rozwiązaliśmy różne problemy z rozróżnianiem wielkości liter w przypadku typów 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
w przypadku zdarzeńBREAK_CLIP_ENDED
.
4 grudnia 2023 r.
Android Sender 21.4.0 i Android TV Receiver 21.0.1
-
Udostępniliśmy funkcje play-services-cast:21.4.0 i play-services-cast-framework:21.4.0.
- Zwiększono wartość parametru minSdkVersion z 16 na 19.
-
Zaktualizowano w zależności od parametru androidx.mediarouter:mediarouter:1.6.0-beta01. Dzięki temu ustawienie
MediaRouteButtons
będzie domyślnie zawsze widoczne. Dzięki temu zmniejszyliśmy liczbę scenariuszy, w których wykrywanie urządzeń Cast jest uruchamiane automatycznie bez udziału użytkownika. -
Dodano
CastOptions.Builder#setSessionTransferEnabled
, aby określić, czy aplikacja nadawcza ma wyświetlać urządzenia Cast, gdy włączona jest opcja Przełącznik wyjścia. Wartość domyślna to true (prawda). -
MediaSessions
nie są już tworzone, gdy aplikacje nie ustawiają wartościCastMediaOptions
lub ustawiają wartość null dla opcji CastMediaOptions. -
Usunęliśmy błąd
android.view.InflateException
(MiniControllerFragment
), który mógł wystąpić podczas korzystania zFragmentContainerViews
. -
Dodaliśmy nowe wersje funkcji
CastButtonFactory#setUpMediaRouteButton
, które zwracają wartośćTasks
, których aplikacje mogą nasłuchiwać w celu zapewnienia powodzenia lub odrzucenia prośby. Starsze wersje, które nie przyjmują argumentuExecutor
, ignorują ModuleUnavailableExceptions i kończą się niepowodzeniem bez powiadomienia.
-
Wersja play-services-cast-tv:21.0.1
- Zwiększono wartość parametru minSdkVersion z 16 na 19.
- Ta wersja zawiera ulepszenia jakości
20 lipca 2023 r.
iOS Sender 4.8.0
- Pakiet SDK na iOS obsługuje teraz co najmniej wersję 13.
- Pierwsza stabilna wersja XCFramework.
- Platforma XCFrameworks jest dostępna na platformie Cocoapods.
- Przywrócono funkcję sterowania głośnością za pomocą fizycznych przycisków głośności podczas odtwarzania multimediów.
- Przycisk Cast w pasku nawigacyjnym uwzględnia teraz kolor odcienia.
- 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 do ścieżki dźwiękowej.
- Naprawiono błąd powodujący awarię w wersji beta XCFramework.
- Dodano interfejs API umożliwiający powiązanie elementu UIControl z działaniami do przodu lub do tyłu.
- Dodano 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)
orazremoveBreakById(breakId)
. -
Dodano analizowanie ciągu
Subtype
do plików manifestu Smooth. -
Dodano obsługę żądań asynchronicznych w
manifestRequestHandler
,segmentRequestHandler
ilicenseRequestHandler
w odtwarzaczu Shaka. - Dodaliśmy obsługę osadzonych napisów.
- Domyślna wersja Shaka dla CAF została zmieniona do 4.3.4.
-
Uściśliśmy opis parametru
setActiveByIds
. - Poprawiliśmy sposób, w jaki CAF wybiera różne ścieżki audio.
- Poprawiono konwersje typu treści żądania w przypadku filtrów żądań Shaka.
-
Dodano możliwość wysyłania zapytań
CreativeInformation
dotyczącychBreakClip
wBreakManager
:getCreativeInfoByClipId(breakClipId)
. - Naprawiono brak metadanych multimediów podczas wczytywania elementu multimedialnego na urządzeniach kontrolowanych przez pad kierunkowy.
-
Do właściwości
BreakClip
dodano właściwościhlsSegmentFormat
ihlsVideoSegmentFormat
. - Naprawiono porównywanie typów MIME z uwzględnieniem wielkości liter przy użyciu MPL.
- Naprawiono nieskończone buforowanie podczas wczytywania HLS na żywo (opartego na TS) przy użyciu odtwarzacza Shaka.
-
Naprawiliśmy działanie
PlayerDataBinder
w przypadku zdarzeniaIS_AT_LIVE_EDGE_CHANGED
. - Naprawiono nieskończoną pętlę w przypadku niewystarczających danych w segmentach TS, które korzystają z MPL.
-
Dodano
error.stack
w przypadku błędów odtwarzacza Shaka. -
Zmieniono sposób wypełniania pola
cast.framework.messages.Track.trackContentType
w obiekcie ścieżki w odtwarzaczu Shaka (zamiast polaaudioCodec
) tak, aby używać polaaudioMimeType
. -
Dodano
shaka.extern.track.label
docast.framework.messages.Track.name
dla utworów w odtwarzaczu Shaka. -
Rozwinięto obiekt
cast.framework.stats.Stats
, aby uwzględnić istniejące pola wshaka.extern.Stats
. - Poprawiono obliczenia czasu trwania multimediów w przypadku treści z rozszerzonymi wbudowanymi przerwami.
28 marca 2023 r.
Android Sender 21.3.0 i Android TV Receiver 21.0.0
-
Udostępniliśmy funkcje play-services-cast:21.3.0 i play-services-cast-framework:21.3.0.
-
NotificationManager
jest teraz używany do publikowania powiadomień o multimediach w Chromecast, a nieForeground Service
. -
Dodaliśmy nowy symbol
CastReasonCodes#CAST_CANCELLED
, aby wskazać anulowanie sesji przesyłania.
-
-
Premiera play-services-cast-tv:21.0.0
- Usunięto adnotację z wartością null w elemencie
MediaManager
.
- Usunięto adnotację z wartością null w elemencie
17 października 2022 r.
Web Receiver 3.0.0105
- Odtwarzacz Shaka został uaktualniony do wersji 3.2.11.
-
Dodano
cast.framework.PlaybackConfig#enableUITextDisplayer
, aby renderować napisy w odtwarzaczu Shaka za pomocą DOM. -
Dodano
cast.framework.CastReceiverOptions#shakaVersion
icast.framework.CastReceiverOptions#useShakaForHls
, aby umożliwić odbiorcom korzystanie z odtwarzacza Shaka do odtwarzania HLS. -
Użytkownicy
PlaybackConfig#manifestHandler
,PlaybackConfig#segmentHandler
iPlaybackConfig#licenseHandler
mają teraz dostęp do nagłówków odpowiedzi HTTP. -
Dodano
customData
doCommandAndControlManager#ErrorResponseData
, gdy komunikatLOAD_BY_ENTITY
kończy się błędem.
10 października 2022 r.
Android Sender 21.2.0
-
Opublikowano 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()
, aby powiadomić o zmianie nazwy urządzenia w przypadkustream transfer
. -
Wycofane właściwości
CastOptions.Builder#setVolumeDeltaBeforeIceCreamSandwich(double)
iCastOptions#getVolumeDeltaBeforeIceCreamSandwich()
. -
Naprawiono błąd
ForegroundServiceStartNotAllowedException
w komponencieMediaNotificationService
. -
Zaktualizowano
MediaNotificationService
:Media controls in System UI
. -
Zaktualizowano interfejsy API
RemoteMediaClient
, aby mogły przyjmować wartości null.customData
-
Zmieniliśmy ustawienie
MediaInfo.Builder
, aby można było wybraćcontentId
lubcontentURL
. -
Zmieniono
ImagePicker#onPickImage
, aby umożliwić stosowanie wartości null doMediaMetadata
. -
Zaktualizowano zależność
com.google.android.datatransport:transport-api
do najnowszej wersji.
-
Wprowadziliśmy funkcję
8 sierpnia 2022 r.
Android Sender 21.1.0 i Android TV Receiver 20.0.0
-
Wersje play-services-cast:21.1.0 i play-services-cast-framework:21.1.0 zostały wydane.
-
Wycofano:
CastContext#getSharedInstance(Context)
. Zamiast tego użyj funkcjiCastContext#getSharedInstance(Context, Executor)
, która zwraca interfejs API zadania, orazModuleUnavailableException
do obsługi wyjątku, gdy pakiet SDK przesyłania nie może załadować wewnętrznego modułu przesyłania. -
Wycofano:
ApplicationMetadata#getImages()
. Użyj interfejsuApplicationMetadata#getIconUrl()
, który zwraca obraz aplikacji ustawiony w konsoli programisty przesyłania. -
Rozwiązano błąd
ConcurrentModificationException
, który mógł występować podczas rejestrowania i wyrejestrowywaniaMediaQueue.Callbacks
. -
Naprawiono błąd
MediaInfo#getStreamDuration()
w przypadku transmisji na żywo. -
Usunięto ograniczenia dotyczące powiadomień z powiadomieniami na urządzeniu
MediaNotificationService
na Androidzie S. -
Rozwiązaliśmy problem z wyciekiem odniesienia do aktywności w
CastContext
. - Naprawiliśmy błąd polegający na tym, że podczas wyświetlania reklamy zamiast niewyraźnej wersji wyświetlana była wyraźna wersja obrazu tła.
-
Wycofano:
-
Premiera play-services-cast-tv:20.0.0
minSdkVersion
przyspieszono z 14 na 16.-
Rozwiązaliśmy problem z funkcją
MediaManager#setSessionCompatToken(MediaSession.CompatToken)
, który powodował, że argument o wartości null nie był prawidłowo obsługiwany.
31 marca 2022 r.
Odbiornik internetowy 3.0.0103, odtwarzacz MPL w wersji 1.0.0.113
- Uaktualniono domyślną wersję odtwarzacza Shaka do wersji 3.2.2.
-
Dodaliśmy nowy interfejs API (
cast.framework.PlaybackConfig#shakaConfig
), aby umożliwić zastąpienie wersji odtwarzacza Shaka i innych opcji Shaka. -
Dodaliśmy nowy interfejs API
cast.framework.ui.Controls#hasMediaControlsOverlay()
, aby umożliwić zapytanie, czy nakładka sterowania multimediami jest renderowana na aplikacji. -
Dodano nowy styl
cast.framework.ui.ControlsButton.LIKE_HEART
do działania użytkownika „Podoba mi się”. -
Wartość
currentMediaTime
w danych zdarzeniacast.framework.events.EventType.BREAK_CLIP_ENDED
teraz reprezentuje bieżący czas ostatniego klipu przerwy w momencie wystąpienia zdarzenia. -
Dodano metodę
cast.framework.PlayerManager#getRawCurrentTimeSec
, która zwraca czas multimediów elementu multimedialnego. -
Dodano
cast.framework.NetworkRequestInfo#timeoutInterval
, aby określić czas oczekiwania na żądanie HTTP dla żądań odtwarzacza. - Naprawiliśmy błędy MPL w dekodowaniu napisów CEA 608/708 w przypadku zremiksowanych strumieni A/V.
- Poprawiliśmy logikę analizy sygnatury czasowej MPL WebVTT, aby akceptować więcej niż 2 cyfry dla wartości godzin.
9 grudnia 2021 r.
Android Sender 21.0.0
- Dodano lepszą obsługę dopuszczalności wartości null w Kotlin, ponieważ naruszenia bezpieczeństwa o wartości null stają się błędem. Deweloperzy aplikacji w Javie nie odczują żadnych zmian. Deweloperzy Kotlin mogą zauważyć nowe błędy kompilacji, jeśli mają kod, który nie był bezpieczny.
19 listopada 2021 r.
iOS Sender 4.7.0
- Rozwiązaliśmy problem z obsługą nadawców na urządzeniach z iOS przy użyciu danych logowania do ATV w ramach Cast Connect.
- Naprawiono błąd, który powodował, że podczas kompilacji w Xcode 13 paski nawigacji miały przezroczyste tło.
-
Naprawiono problemy z ułatwieniami dostępu zgłoszone w przypadku
GCKUICastButton.
- Naprawiliśmy błąd, który powodował, że przełączanie się między Wi-Fi a siecią komórkową rozłączało sesję przesyłania treści, zamiast ją zawieszać.
- wycofanie obsługi iOS 10 i iOS 11, a w konsekwencji także obsługi architektur 32-bitowych;
- Inne poprawki błędów i usprawnienia.
16 listopada 2021 r.
Android Sender 20.1.0
- Uwaga: aplikacje kierowane na Androida 12 muszą zostać zaktualizowane do wersji Android Sender 20.1.0, aby zapobiec awarii w czasie działania.
- Ulepszenia kolejki
-
Dodano nowe wywołanie zwrotne
itemsReorderedAtIndexes
do MediaQueue, które jest wywoływane, gdy kolejność elementów w kolei uległa zmianie. - Dodano obsługę serializacji poleceń kolejki.
-
Parametr
customData
wRemoteMediaClient#queueSetRepeatMode
może być opcjonalny. - Funkcja wyświetlania zdalnego została wycofana.
- Wartość kolumny
minSdkVersion
została zwiększona z 14 na 16.
26 października 2021 r.
Odbiornik internetowy 3.0.0102
- Zaktualizuj odtwarzacz Shaka do wersji 3.0.13 (rozwiązuje ona część wcześniej zgłoszonych problemów).
- Dodaliśmy obsługę drugich obrazów na inteligentnych ekranach i Chromecastach.
- Rozwiązaliśmy problem polegający na tym, że napisy nie wyświetlały się w przypadku strumieni buforowanych z powodu błędu w logice używanej do wykrywania zduplikowanych ścieżek.
-
Rozwiązaliśmy problem, który powodował, że wywołanie zwrotne błędu odbiornika nie było wywoływane, gdy funkcja
LOAD_BY_ENTITY
zwracała błąd. - Dodano obsługę wysokowydajnych kodeków audio AAC (HE-AAC) w przypadku strumieni transportu.
-
Naprawiliśmy błąd, przez który funkcja
PlayerManager.getStats()
nie zwracała prawidłowych wartości wysokości i szerokości. -
Z wiadomości
MediaStatus
usunęliśmy informacje VAST i VMAP, aby uniknąć zbędnych danych, które mogą spowodować odłączenie nadawcy od odbiornika. -
Rozwiązaliśmy problem, który powodował, że
endedReason
nie był przekazywany do nadawcy, gdy użytkownik pomijał reklamy. - Rozwiązaliśmy problem, który powodował, że przerwy na reklamę były usuwane z kolejki wczytywania przed odtworzeniem.
-
Dodano nowe pole
cast.framework.message.QueueChange#reorderItemIds
, które zawiera listę elementów kolejki dotkniętych operacjąQUEUE_CHANGE
. - Zmniejszone buforowanie w przypadku transmisji na żywo HLS w MPL podczas przełączania się między ścieżkami audio, dzięki czemu dźwięk i obraz są teraz zsynchronizowane.
- Rozwiązano problem z analizowaniem strumieni HLS w MPL z osadzonymi napisami CEA608/CEA708.
- Elementy sterujące multimediami w Chromecast z Google TV będą ukryte, gdy multimedia będą wstrzymywane przez ponad 5 sekund.
26 maja 2021 r.
iOS Sender 4.6.1
- Rozwiązaliśmy problem polegający na tym, że sesje przesyłania w tle są zawieszane w przypadku 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, tak aby przycisk zawsze wyświetlał się po połączeniu z Wi-Fi.
- Dodano nowe okno pomocy, które wyświetla się, gdy użytkownik kliknie przycisk Cast, a nie znaleziono żadnych urządzeń.
-
Wycofano interfejs API
GCKUICastButton::triggersDefaultCastDialog
. -
Dodano bardziej jednolitą obsługę dostosowywania dialogów w przypadku aplikacji, które implementują niestandardowy interfejs za pomocą nowego interfejsu API.
GCKUICastButtonDelegate
- Dodano obsługę trybu ciemnego na urządzeniach z iOS w wersji 13 lub nowszej.
-
Dodano dostosowanie znacznika reklamy do:
GCKUIStyleAttributes
. -
Dodano obsługę multimediów
hlsSegmentFormat
ihlsVideoSegmentFormat
. - Poprawki błędów i lepsze działanie aplikacji.
29 kwietnia 2021 r.
Odbiornik internetowy 3.0.0096
- Rozwiązaliśmy problem z przesyłaniem obrazu.
20 kwietnia 2021 r.
Android Sender 20.0.0 i Android TV Receiver 18.0.0
-
Udostępniliśmy funkcje play-services-cast:20.0.0 i play-services-cast-framework:20.0.0.
- Usunięto GameManagera i powiązane z nim interfejsy API. Od 2017 roku są one wycofane.
-
Dodano klasę
SessionState
do biblioteki klienta przesyłania. -
Dodano
CastReasonCodes
, aby zapewnić szczegółowe wyjaśnienia dotycząceCastStatusCodes
. Użyj metodyCastContext#getCastReasonCodeForCastStatusCode(int)
, aby przetłumaczyć z językaCastStatusCodes
na językCastReasonCodes
. -
Dodano
HlsSegmentFormat
orazHlsVideoSegmentFormat
doMediaInfo.Builder
. -
Atrybut
foregroundServiceType
zMediaNotificationService
został oznaczony 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, który występował podczas przełączania z VOD na transmisję na żywo.
-
Wprowadziliśmy
MediaIntentReceiver#ACTION_DISCONNECT
do powiadomień o multimediach z Chromecasta.
-
Opublikowano play-services-cast-tv:18.0.0:
-
Do biblioteki cast-tv dodano klasę
StoreSessionRequestData
iStoreSessionResponseData
.
-
Do biblioteki cast-tv dodano klasę
5 kwietnia 2021 r.
Web Receiver 3.0.0095
- Uaktualniono aplikację Shaka Player do wersji 3.0.10.
-
Przycisk Cast jest teraz domyślnie wyświetlany, 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 umożliwiają odtwarzanie treści multimedialnych lub przewijanie dostępnych treści multimedialnych. Każdy element odpowiada też domyślnemu poleceniu 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 Chromecastach 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ę zdarzenia
TRACKS_CHANGED
.
18 grudnia 2020 r.
Odbiornik internetowy 3.0.0085
-
Dodano opcje
CastReceiverOptions
, aby wyłączyć wczytywanie Shaka i MPL.
3 grudnia 2020 r.
iOS Sender 4.5.3
-
Naprawiliśmy błąd czasu wczytywania „Niezdefiniowane symbole arm64 architektury” w
GCKCredentialsData
. -
Naprawiono błąd kompilatora związany z konfliktującą się możliwością użycia wartości null w funkcji
GCKCredentialsData
. -
Jeśli w
Info.plist
brakuje wymaganych wpisów usługi Bonjour, komunikaty ostrzegawcze są teraz logowane.
4 listopada 2020 r.
iOS Sender 4.5.2
-
W CocoaPods zaktualizowaliśmy minimalną wersję biblioteki
Protobuf
do 3.13. Korzystanie z poprzednich wersjiProtobuf
spowoduje awarię pakietu SDK. - Ta wersja jest dostępna tylko w CocoaPods i używa 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 usługa
GCKUICastButton
z niestandardowym selektorem urządzeń nie aktualizowała się, aby odzwierciedlać prawidłowy stan przesyłania. - Poprawiliśmy ostrzeżenie o specyfikatorze dopuszczalności null w typach zwrotów.
14 września 2020 r.
Web Receiver
- Uaktualniono odtwarzacz Shaka do wersji 2.5.16.
iOS Sender 4.5.0
- Dodaliśmy obsługę zmian w wykrywaniu urządzeń przesyłających w systemie iOS 14, które po raz pierwszy wymagają wyraźnego zezwolenia użytkownika. Więcej informacji znajdziesz w sekcji Pierwsze przesyłanie w iOS 14.
- Zaktualizowano minimalną obsługę pakietów SDK do wersji iOS 10.
8 września 2020 r.
Web Sender
- Wprowadzono Cast Connect, które umożliwia przesyłanie z aplikacji Chrome 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 standardzie HLS / EventStream w DASH.
3 sierpnia 2020 r.
Nadawca iOS 4.4.8
- Wprowadzenie funkcji Cast Connect, która umożliwia przesyłanie treści z aplikacji na iOS do aplikacji na Androida TV. Szczegółowe informacje znajdziesz w dokumentacji odbiornika Android TV.
29 lipca 2020 r.
Android Sender 19.0.0 i Android TV Receiver 17.0.0
-
Wprowadzono Cast Connect, dzięki któremu aplikacje na Androida TV są zgodne z protokołem Cast, dzięki czemu działają jak aplikacje odbiornika. Szczegółowe informacje znajdziesz w dokumentacji odbiornika Android TV.
- Udostępniliśmy pakiet play-services-cast-tv:17.0.0 jako pakiet SDK odbiornika dla aplikacji na Androida TV.
- Udostępniliśmy interfejsy play-services-cast:19.0.0 i play-services-cast-framework:19.0.0, w tym interfejsy API nadawcy Cast Connect oraz interfejsy API używane przez play-services-cast-tv.
-
Aktualizacje interfejsu API:
-
Wycofany
AdBreakStatus#AD_BREAK_CLIP_NOT_SKIPPABLE
, użyj w zastępstwieAdBreakClipInfo#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()
w:MediaError
. -
W
MediaStatus
dodano szczegółowe obsługiwane stałe bitowe polecenia (MediaStatus#COMMAND_*
). -
Odsłonięty
MediaTrack#getRoles()
. -
Udostępniono
RemoteMediaClient.Callback#onMediaError()
.
-
Wycofany
13 lipca 2020 r.
Web Receiver
- Ulepszenie wykrywania kategorii multimediów w domyślnym interfejsie (wideo vs. audio).
- Dodano obsługę czasu bezwzględnego na żywo z odtwarzacza Shaka.
- Rozwiązaliśmy problem z zakłóceniami dźwięku na urządzeniach Nest Hub Max.
- Uaktualniono aplikację Shaka Player do wersji 2.5.12.
4 maja 2020 r.
Odbiornik internetowy
- Wartości limitu czasu dla poleceń Asystenta Google można teraz konfigurować.
- Szczegółowe kody błędów MPL są teraz ujawniane w zdarzeniach błędów.
-
Obsługiwane polecenia dotyczące multimediów można teraz wymusić, używając flagi
enforceSupportedCommands
. - Naprawiono obsługiwane polecenia zgłoszone podczas przerwy w odtwarzaniu.
- Rozwiązano problem z prośbą o wczytanie losowe w Asystencie.
- Naprawiliśmy błąd w wartościach:
getStats
.
12 marca 2020 r.
Odbiornik internetowy
-
Do aplikacji
deviceCapabilities
dodano nową funkcję urządzeniaIS_CBCS_SUPPORTED
. - Uaktualniono aplikację Shaka Player do wersji 2.5.8
27 lutego 2020 r.
iOS Sender wersja 4.4.7
- Poprawiliśmy fizyczne przyciski głośności w aplikacjach, które nie korzystają z żadnych komponentów UI z pakietu SDK.
-
Rozwiązanie problemu z etykietą
currentTime
w rozszerzonym kontrolerze podczas wielokrotnego naciskania przycisków do przodu lub do tyłu. -
Elementy multimedialne w
GCKMediaQueue
są przechowywane po przejściu aplikacji do trybu 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ązaliśmy problemy z interfejsem typowe dla iPhone'a X.
- Naprawiliśmy kilka problemów powodujących zacinanie się i awarie.
24 lutego 2020 r.
Android Sender 18.1.0
-
Dodano wstępnie zdefiniowane stałe dla
szczegółowych kodów błędów i przyczyn błędu
MediaError
.
22 stycznia 2020 r.
Odbiornik internetowy
- Rozwiązaliśmy problem polegający na tym, że podczas zmiany obsługiwanych poleceń były przesyłane różne stany multimediów.
Odbiornik w wersji 2
- Popraw wybór szybkości transmisji reklam VAST.
MPL
- Dodano obsługę wstępnego pobierania klucza sesji. Więcej informacji znajdziesz w wersji roboczej transmisji na żywo przez HTTP 2nd Edition.
7 stycznia 2020 r.
Odbiornik internetowy
-
Dodaliśmy obsługę metadanych zsynchronizowanych z czasem w formacie ID3 w
cast.framework.events.EmsgEvent
. Dodatkowo w przypadku treści HLS/CMAF wysyłamy terazEmsgEvent
. -
Rozwiązaliśmy problem, który powodował, że podczas przechodzenia na nową sesję multimediów brakowało danych odtwarzacza w czasie
PLAYER_LOAD_COMPLETE
. - Rozwiązaliśmy problem polegający na tym, że ikona multimediów nakładała się na numer klipu przerwy i odliczanie.
- Rozwiązanie problemu polegającego na tym, że odliczanie pierwszego klipu oznaczającego przerwę zawsze miało wartość 0:00.
- Uaktualniono aplikację Shaka Player do wersji 2.5.6.
Web Receiver v2
-
Do aplikacji
deviceCapabilities
dodano nową funkcję urządzeniaIS_DEVICE_REGISTERED
. Jeśli ta opcja jest ustawiona, urządzenie Cast jest zarejestrowane w Konsoli programisty Cast w celu debugowania. - Rozwiązaliśmy problem z zawieszaniem się wczytywania.
- W przypadku każdego nieudanego elementu w kolejce wysyłane są teraz poszczególne komunikaty o błędach multimediów.
MPL
- Rozwiązaliśmy problem z transmisjami na żywo, w których dźwięk był odtwarzany przez pewien czas po otrzymaniu wiadomości o zatrzymaniu.
- Rozwiązaliśmy problem, który powodował, że podczas zmian poziomu jakości wyświetlały się artefakty kompresji wideo.
- Rozwiązaliśmy problem, który powodował awarię transmisji HLS korzystających z segmentów *.m4s.
5 grudnia 2019 r.
Android Sender 18.0.0
-
Dodano obiekt
setMediaSessionEnabled
, aby deweloperzy mogli włączać i wyłączać sesję multimediów utworzoną przez pakiet SDK Cast. - Zmieniliśmy sposób wyświetlania powiadomień o multimediach podczas sesji przesyłania treści. Jeśli powiadomienia o multimediach są włączone, będą zawsze wyświetlane podczas sesji przesyłania. Wcześniej było to możliwe tylko wtedy, gdy aplikacja działała w tle.
-
Zmieniliśmy niektóre klasy związane z multimediami, aby wdrożyć interfejs
Parcelable
.
11 listopada 2019 r.
iOS Sender wersja 4.4.6
- Rozwiązaliśmy problem związany z minimalną obsługiwaną wersją systemu iOS 9.
7 października 2019 r.
Web Receiver
- Role udostępnionych ścieżek w ramach metadanych ścieżek.
- Uaktualniono wersję odtwarzacza Shaka do 2.5.5.
23 września 2019 r.
iOS Sender wersja 4.4.5
- Ulepszona obsługa wykrywania urządzeń przesyłających i zarządzania sesjami.
-
Do aplikacji
GCKMediaStatus
dodano nowe polecenia dotyczące multimediów. -
Do właściwości
GCKAdBreakStatus
dodano właściwośćwhenSkippable
. - Poprawki interfejsu użytkownika w Google Ads i systemie iOS 13.
11 września 2019 r.
Android Sender 17.1.0
-
Do klasy
RemoteMediaClient.MediaChannelResult dodano pole
MediaError
, które umożliwia dostęp do szczegółowego kodu błędu w przypadku nieudanych poleceń multimedialnych. -
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.
Web Receiver
-
Typ metadanych
TV_SHOW
ma teraz podgląd „Odtwarzane dalej” w odtwarzaczu domyślnym, jeśli następny element jest wstępnie załadowany. -
Do przestrzeni nazw
cast.framework.messages
dodano klasęContentRating
. -
Zmieniliśmy domyślny tytuł dźwięku w interfejsie, tak aby
metadata.artist
miał pierwszeństwo przedmetadata.albumArtist
. - Dodano obsługę wartości ujemnych w polu startTime, aby wskazywać czas rozpoczęcia w odniesieniu do końca treści lub krawędzi na żywo.
- Przeglądanie multimediów:
- Szuflada Media Browse jest teraz automatycznie ukryta po 30 sekundach braku aktywności użytkownika.
- W prawym górnym rogu nakładki „Przeglądanie multimediów” dodano przycisk Odtwórz/Wstrzymaj i miniaturę elementu multimedialnego.
- Zaktualizowano sposób działania listy w przeglądarce multimediów. Teraz przewijanie poziome jest resetowane do początkowej pozycji najbardziej na lewo za każdym razem, gdy ustawiana jest zawartość przeglądarki multimediów.
- Poprawki błędów:
-
Opóźnione rozwiązanie
BasePlayer
end promise, aby umożliwić wywołanie zdarzenia elementu multimedialnego. - Obsługiwany błąd wczytywania wstępnie reklam.
- Znak wodny wyświetla się razem z pozostałymi metadanymi.
-
Domyślny interfejs audio na Chromecaście obsługuje style
.progressBar
. - Usunięto wyświetlanie ekranu IDLE przed wczytywaniem i między odtwarzaniem kolejnych elementów multimedialnych.
- Naprawiono problem z zacinaniem się podczas przewijania treści Dash.
Odbiornik internetowy w wersji 2
-
Do przestrzeni nazw
cast.receiver.media
dodano klasęContentRating
. - Naprawiono błąd, który powodował nieprawidłowe propagowanie danych błędów, gdy w kolejce znajdowało się wiele elementów.
Biblioteka odtwarzacza multimediów
- Dodano do interfejsu API atrybuty HLS #EXT-X-MEDIA.
- Poprawki błędów:
- Rozwiązaliśmy problem z nieudanymi operacjami SourceBuffer remove(), które powodowały zablokowanie odtwarzania po przełączeniu ścieżki audio.
- Rozwiązaliśmy problem z analizą, gdy podano spakowany typ formatu audio (np. *.ec3), ale używane są segmenty oparte na MPEG-4 (np. *.mp4, *.mp4a itd.).
- Naprawiono błąd HLS, który powodował, że napisy w paśmie CEA608 były wyświetlane ze znacznym opóźnieniem.
- Rozwiązaliśmy problem z treściami HLS i Smooth 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ę 0, która została wycofana.
-
Naprawiono zmienione zdarzenia w
breakTime
,breakClipTime
iliveSeekableRange
przez używanie nowych funkcjigetEstimatedBreakTime
,getEstimatedBreakClipTime
igetLiveSeekableRange
dodanych do Chrome M77.
12 sierpnia 2019 r.
iOS Sender w wersji 4.4.4
- Ulepszona obsługa systemu iOS 13.
- Ulepszona obsługa wykrywania urządzeń przesyłających
30 lipca 2019 r.
Odbiornik internetowy
- Uaktualniono wersję odtwarzacza Shaka do wersji 2.5.1.
- Rozwiązaliśmy problem polegający na tym, że nakładka metadanych znikała zbyt szybko podczas wczytywania treści.
- Naprawiono obsługę odrzucania w mechanizmie przechwytującym obciążenia w celu wyczyszczenia stanu wczytywania.
- Zmiana atrybutu
setBrowseContent
tak, aby można było go pominąć. - Rozwiązaliśmy problem polegający na tym, że zgłoszony bieżący czas był nieprawidłowy w przypadku przewijania kilku przerw na reklamy.
- Dodaliśmy obsługę parametru ignoreTtmlPositionInfo do ignorowania pozycji napisów TTML.
- Ulepszona obsługa błędów wczytywania:
- Zapobiegło się wielokrotnemu wywołaniu funkcji
MediaFinishedEvent
. - Wywołanie funkcji z błędem menedżera multimediów, aby wyczyścić odtwarzacz w przypadku błędu wczytywania.
22 lipca 2019 r.
iOS Sender w wersji 4.4.3
- Ulepszona obsługa błędów wczytywania dzięki parametrowi error_reason.
- Udostępniliśmy pakiet SDK w wersji bez trybu gościa.
17 czerwca 2019 r.
Android Sender 17.0.0
- Najnowsza wersja pakietu SDK przełącza się z bibliotek Android Support na biblioteki Jetpack (AndroidX). Biblioteki nie będą działać, jeśli nie wprowadzisz tych zmian w aplikacji:
-
Uaktualnij
com.android.tools.build:gradle
do wersji 3.2.1 lub nowszej. - Uaktualnij
compileSdkVersion
do wersji 28 lub nowszej. - Zaktualizuj aplikację, aby używać Jetpack (AndroidX). Postępuj zgodnie z instrukcjami podanymi w artykule Przenoszenie na AndroidX.
- Więcej informacji znajdziesz w informacjach o wersjach 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.
- Dodano lokalizację w domyślnym interfejsie dla 9 nowych lokalizacji:
- duński
- angielski (Wlk. Brytania)
- angielski (Indie)
- angielski (Singapur)
- francuski (Kanada)
- włoski
- norweski
- niderlandzki
- szwedzki
- Usunięto zaokrąglone rogi z okładki albumu w interfejsie zdalnym.
- Poprawki błędów dotyczących transmisji na żywo i innych obszarów.
iOS Sender wersja 4.4.2
- tryb gościa
- W konsoli programisty przesyłania dodaliśmy obsługę opcji „Włącz tryb gościa”.
- Rozwiązano problem z zarządzaniem sesją w trybie gościa.
- Poprawki błędów
- Usunięto problem z lokalizacją wprowadzony w wersji 4.4.1.
24 kwietnia 2019 r.
iOS Sender wersja 4.4.1
- Wprowadziliśmy obsługę wersji alfa transmisji na żywo. Szczegółowe informacje znajdziesz w przewodniku dla programistów.
- Dodano nowe struktury danych i atrybuty dotyczące stanu transmisji na żywo.
- Dodano nowe klucze GCKMediaMetadata.
- Dodane polecenia do multimediów w transmisji na żywo:
- [GCKRemoteMediaClient loadMediaWithLoadRequestData:]
- [GCKRemoteMediaClient seekWithOptions:]
- Ulepszone rozszerzone interfejsy 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, który występował, gdy system operacyjny wykonuje intensywne działania sieciowe.
- Usunięto awarię przy inicjowaniu etykiet ułatwień dostępu za pomocą GCKUICastButton.
23 kwietnia 2019 r.
Odbiornik internetowy
- Wprowadziliśmy obsługę transmisji na żywo w wersji alfa. Szczegółowe informacje znajdziesz w przewodniku dla programistów.
- Zaktualizowano interfejs użytkownika, aby obsługiwał transmisje na żywo, w tym wskaźnik transmisji na żywo.
- Do stanu multimediów dodano pole mediaCategory, które wskazuje, czy multimedia to film, dźwięk czy zdjęcie.
- Poprawki błędów
- Naprawiono użycie wartości zwróconej funkcji playConfig.segmentHandler.
Biblioteka odtwarzacza multimedialnego
- Dodano obsługę kodeka HEVC do HLS w MPL.
Web Sender
- Wprowadzono 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 element RemotePlayerController.skipAd() do reklam możliwych do pominięcia.
Android Sender 16.2.0
- Wprowadziliśmy obsługę transmisji na żywo w wersji alfa. Szczegółowe informacje znajdziesz w przewodniku dla programistów.
- Dodano nowe struktury danych i atrybuty dotyczące stanu transmisji na żywo.
- Dodano nowe klucze MediaMetadata.
- Dodano polecenia dotyczące multimediów w transmisjach 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 do rozszerzonych widżetów interfejsu kontrolera.
- Zmieniono układ i wygląd rozwiniętego kontrolera.
- Wprowadziliśmy widżet CastSeekBar kompatybilny z transmisją na żywo, który zastępuje domyślny suwak.
- Zmodyfikowano klasę ExpandedControllerActivity, aby używała kontrolki CastSeekBar zamiast SeekBar w celu zapewnienia zgodności z transmisją na żywo. Metoda ExtendedControllerActivity#getSeekBar() została wycofana i będzie zwracać fikcyjną instancję.
- Dodano nowy stan odtwarzacza MediaStatus#PLAYER_STATE_LOADING:
- Gdy Web Receiver zaczyna wczytywać multimedia, właściwość playerState w MediaStatus jest ustawiana na MediaStatus#PLAYER_STATE_LOADING, dopóki nie rozpocznie buforowania lub odtwarzania treści.
- W większości przypadków aplikacja obsługuje ten stan tak samo jak MediaStatus#PLAYER_STATE_BUFFERING.
- Stany buforowania i wczytywania nie zawsze są wymienne.
- Podczas wczytywania Web Receiver nie zdołał jeszcze przetworzyć wszystkich informacji o multimediach, więc jedyne dostępne informacje to te, które były obecne w prośbie o wczytanie multimediów wysłanej przez nadawcę.
- Podczas buforowania informacje o multimediach mogą zawierać dodatkowe informacje uzyskane przez odbiorcę.
- Zmodyfikowane metadane MediaMetadata w celu obsługi audiobooków:
- Dodano nowe klucze MediaMetadata.
- Dodaliśmy nowy typ metadanych audiobooków.
25 marca 2019 r.
Web Receiver
-
Zastąpiliśmy użycie
document.registerElement()
przezcustomElements.define()
, aby zapewnić zgodność pakietu SDK odbiornika internetowego z nowszymi wersjami platformy Cast. -
MediaStatus.breakStatus
zwraca teraz pusty obiekt, jeśli w treści występują przerwy na reklamę, ale przerwa na reklamę nie jest w danej chwili odtwarzana. - Rozwiązaliśmy problem z analizowaniem tagów VAST w ciele wiadomości.
Biblioteka odtwarzacza multimedialnego
- Rozwiązaliśmy problem ok. 20-sekundowego opóźnienia podczas przełączania ścieżek audio.
13 lutego 2019 r.
Odbiornik internetowy
- Poprawiliśmy nagłe wyświetlanie przycisku Pomiń reklamę w interfejsie dotykowym.
- Poprawiono wyświetlanie informacji o przerwach w pilocie.
Biblioteka odtwarzacza multimedialnego
- Rozwiązaliśmy problem z obsługą adresu URL licencji w przypadku wstępnie załadowanych multimediów.
5 lutego 2019 r.
iOS Sender w wersji 4.3.5
- Dodano obsługę metadanych audiobooków. Więcej informacji znajdziesz w pliku GCKMediaMetadata.h.
- Ustaw prawidłową wartość static_framework w podspec.
- Split styleAttributes dla paska nawigacyjnego i paska narzędzi w kontrolerze połączenia.
- Poprawki błędów
- Usunięto awarię występującą przy niektórych nieudanych inicjacjach bazy danych.
- Rozwiązaliśmy problem z paskiem głośności na odbiorniku internetowym podczas połączeń przychodzących lub dzwonienia alarmu.
- Rozwiązaliśmy problem z niepotrzebnym wywoływaniem niektórych metod delegowanych podczas wykrywania.
- Rozwiązaliśmy problem polegający na tym, że lista kolejki multimediów nie była usuwana po zakończeniu odtwarzania ostatniego elementu w kolejce.
- Niedozwolone wyświetlanie nieosiągalnych urządzeń w pobliżu, gdy sieć jest niedostępna.
- Wyłączenie suwaka głośności w widoku kontrolera urządzenia w przypadku urządzeń, na których nie można sterować głośnością.