W przypadku każdej nowej wersji Google Cast, która zostanie wydana, zmiany są opisane poniżej, a odwołania do interfejsu API są aktualizowane. Informacje o zmianach w listach kontrolnych dotyczących projektu znajdziesz w historii zmian.
12 maja 2025 r.
Android Sender 22.1.0
-
Wydane play-services-cast:22.1.0 i play-services-cast-framework:22.1.0
-
Zaktualizowano zależność od androidx.mediarouter:mediarouter:1.8.0-beta01 i dodano obsługę interfejsów API AndroidX Media Router
MediaRouter.RouteInfo#connect()
iMediaRouter.RouteInfo#disconnect()
. -
Dodaje
CastOptions.Builder
, aby skonfigurować interfejs API AndroidX Media RouterMediaRouterParams.Builder#setMediaTransferRestrictedToSelfProviders(boolean)
.
-
Zaktualizowano zależność od androidx.mediarouter:mediarouter:1.8.0-beta01 i dodano obsługę interfejsów API AndroidX Media Router
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 MediaNotificationService. Aplikacje nie powinny używać go bezpośrednio.
- Rozwiązano błąd na urządzeniach z Androidem R lub starszym, na których próba wyświetlenia zbyt małego obrazu w powiadomieniu Google Cast mogła spowodować awarię interfejsu System UI.
4 września 2024 r. 1 listopada 2024 r.
Odbiornik internetowy 3.0.0133 3.0.0135 3.0.0137
- Domyślna wersja Shaka Player używana przez CAF została zaktualizowana z 4.3.4 na 4.9.2. Pełną listę zmian znajdziesz w changelogu Shaka Player.
- 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). - Dodano pola
frameType
iframeDescription
docast.framework.events.Id3Event
. Te pola są wypełniane, gdy do odtwarzania używany jest odtwarzacz Shaka. - Dodano zdarzenia
REQUEST_GET_STATUS
iREQUEST_PRELOAD
. Zdarzenia te można wykrywać za pomocąPlayerManager#addEventListener
. - Dodano odpowiedź z błędem dla żądań wczytywania z nieprawidłowym
requestId
zamiast milczącego niepowodzenia. - Naprawiono log ostrzeżeń dla konfiguracji
jumpLargeGaps
odtwarzacza Shaka, która została wycofana w wersji 4. - Rozpoczęliśmy wypełnianie pola
requestId
w wiadomościMediaStatus
w przypadku stanuLOADING
. - Podczas wczytywania nowych treści wykorzystaj ponownie instancję odtwarzacza Shaka.
- wycofanie obsługi wycofanego polecenia multimediów
QUEUE_SHUFFLE
; Zamiast tego użyjQUEUE_UPDATE
. - Naprawiono obsługę modułów reklam VAST, w których każdy tag
<Ad>
ma atrybutsequence
i zagnieżdżony tag<Wrapper>
. - Naprawiono propagowanie atrybutu
crossorigin
bez wartości z<cast-media-player>
do zagnieżdżonego elementu<video>
. - Wyświetlanie języka dźwięku w paśmie 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ń.
- Naprawiono problem z awariami związany z AVRouting, który występuje na urządzeniach z iOS 17 lub nowszym.
18 kwietnia 2024 r.
iOS Sender 4.8.1
- Minimalna wersja pakietu Cast SDK to teraz iOS 14.
- Manifest prywatności zawarty w pakiecie wraz z podpisanym xcframework.
- Tryb gościa został wycofany i usunięty. W ramach tej wersji do integracji będzie dostępna jedna wersja pakietu SDK.
- Naprawiono błąd, który powodował awarię, gdy podczas przesyłania treści wyświetlała się 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 odtwarzaczem Google Cast na urządzeniach Google TV.
- Dodano nowe pole
audioTrackInfo
do obiektuTrack
. - Dodano
cast.framework.system.Message
, który reprezentuje wiadomość odbieraną od nadawcy lub wysłaną do niego. - Zmieniono logikę przerwy w przeskakiwaniu. Teraz odbiornik internetowy tworzy syntetyczny przerwę
seek-{timestamp}
tylko wtedy, gdy zBreakManager#setBreakSeekInterceptor
zwracanych jest więcej niż 1 przerwa, w przeciwnym razie przerwa przesunięcia pozostaje równa pierwotnej przerwie na osi czasu. - Dodano
CastReceiverOptions#shakaVariant
opcję wczytywania wersji debugowania odtwarzacza Shaka w CAF. -
Rozwiązano problem z
PlaybackConfig#licenseRequestHandler
iPlaybackConfig#licenseResponseHandler
nierozpoznawaniem usługi Shaka dla HLS, gdy używane jest szyfrowanie AES-128. - Rozwiązanie problemu polegającego na tym, że
ID3Event
nie jest wywoływany podczas korzystania z odtwarzacza Shaka. - Naprawiono problem z wczytywanymi z boku ścieżkami tekstowymi podczas korzystania z reklam preroll.
- Rozwiązano problem z renderowaniem tekstu podczas używania właściwości
UITextDisplayer
. - Usunięto różne problemy z wielkimi i małymi literami w przypadku nazw VAST, typów MIME i systemów ochrony treści.
- Rozwiązano różne problemy z zmuszaniem napisów.
- Rozwiązano problem z wypełnianiem pól 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
-
Wydano play-services-cast:21.4.0 i play-services-cast-framework:21.4.0
- Zwiększono wartość parametru minSdkVersion z 16 na 19.
-
Zaktualizowano zależność od androidx.mediarouter:mediarouter:1.6.0-beta01. Dzięki temu
MediaRouteButtons
będzie zawsze widoczne domyślnie. Umożliwiło to ograniczenie sytuacji, 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 funkcja przełącznik wyjścia. Wartością domyślną jest „true” (prawda). -
MediaSessions
nie są już tworzone, gdy aplikacje nie ustawiają wartościCastMediaOptions
lub ustawiają wartość null dla opcji CastMediaOptions. -
Naprawiono błąd
MiniControllerFragment
android.view.InflateException
, który mógł występować podczas korzystania z funkcjiFragmentContainerViews
. -
Dodano nowe wersje funkcji
CastButtonFactory#setUpMediaRouteButton
, która zwraca wartośćTasks
, którą aplikacje mogą sprawdzać, aby uzyskać wynik lub wyjątek. Starsze wersje, które nie przyjmują argumentuExecutor
, ignorują wyjątek ModuleUnavailableException i cicho się nie udają.
-
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.
- XCFrameworks dostępne w 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 teraz uwzględnia kolor zabarwienia, gdy jest używany na pasku nawigacji.
- Kolor tytułu nawigacji można teraz dostosować za pomocą interfejsu GCKUIStyle API.
- Rozwiązanie problemu z przezroczystym paskiem nawigacyjnym w widoku listy napisów do ścieżki audio.
- Naprawiono błąd powodujący awarię w wersji beta XCFramework.
- Dodano interfejs API do wiązania elementu UIControl z działaniami przewijania do przodu i do tyłu.
- Dodano obsługę przesyłania treści na urządzeniach Pixel Tablet.
6 lipca 2023 r.
Web Receiver 3.0.011
-
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 funkcjach
manifestRequestHandler
,segmentRequestHandler
ilicenseRequestHandler
w Shaka Player. - Dodaliśmy obsługę osadzonych napisów.
- Domyślna wersja Shaka dla CAF została podniesiona do 4.3.4.
-
Uściśliśmy opis parametru
setActiveByIds
. - Poprawiono sposób, w jaki CAF wybiera oddzielne ś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)
. - Rozwiązano problem z brakiem metadanych multimediów podczas wczytywania elementu multimedialnego na urządzeniach sterowanych za pomocą D-pada.
-
Do właściwości
BreakClip
dodano właściwościhlsSegmentFormat
ihlsVideoSegmentFormat
. - Naprawiono porównania typu MIME uwzględniające wielkość liter przy użyciu MPL.
- Naprawiono nieskończone buforowanie podczas wczytywania transmisji na żywo HLS (opartej na TS) przy użyciu odtwarzacza Shaka.
-
Naprawiono zachowanie funkcji
PlayerDataBinder
w przypadku zdarzeniaIS_AT_LIVE_EDGE_CHANGED
. - Usunięto nieskończoną pętlę w przypadku niewystarczającej ilości danych w segmentach TS, które korzystają z MPL.
-
Dodano
error.stack
dla 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żywane było polecast.framework.messages.Track.trackContentType
w przypadku ścieżek z wariantami.audioMimeType
-
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
-
Wersja 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 wskazywać anulowanie sesji przesyłania.
-
-
Wersja usługi play-services-cast-tv:21.0.0
- Naprawiono adnotację nullable w przypadku pola
MediaManager
.
- Naprawiono adnotację nullable w przypadku pola
17 października 2022 r.
Web Receiver 3.0.0105
- Uaktualniono odtwarzacz Shaka 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. -
PlaybackConfig#manifestHandler
,PlaybackConfig#segmentHandler
iPlaybackConfig#licenseHandler
mają teraz dostęp do nagłówków odpowiedzi HTTP. -
Dodano
customData
doCommandAndControlManager#ErrorResponseData
, gdy wiadomośćLOAD_BY_ENTITY
zwraca błąd.
10 października 2022 r.
Android Sender 21.2.0
-
Wydano 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ć używanie wartości null wMediaMetadata
. -
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 interfejsuCastContext#getSharedInstance(Context, Executor)
, który 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()
. Zamiast tego użyj operatoraApplicationMetadata#getIconUrl()
, który zwraca obraz aplikacji ustawiony w Konsoli deweloperów Google Cast. -
Rozwiązano błąd
ConcurrentModificationException
, który mógł występować podczas rejestrowania i wyrejestrowaniaMediaQueue.Callbacks
. -
Naprawiono błąd
MediaInfo#getStreamDuration()
w przypadku transmisji na żywo. -
Rozwiązano problem z ograniczeniami trampoliny powiadomień w przypadku
MediaNotificationService
na Androidzie S. -
Rozwiązanie problemu z wyciekającą referencją do aktywności w komponencie
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:
-
Wersja play-services-cast-tv:20.0.0
- Zwiększono wartość parametru
minSdkVersion
z 14 na 16. -
Rozwiązaliśmy problem z funkcją
MediaManager#setSessionCompatToken(MediaSession.CompatToken)
, w której argument null nie był prawidłowo obsługiwany.
- Zwiększono wartość parametru
31 marca 2022 r.
Web Receiver 3.0.0103, MPL Player 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. -
Dodano nowy interfejs API (
cast.framework.ui.Controls#hasMediaControlsOverlay()
), który umożliwia sprawdzenie, czy nakładka elementów sterujących multimediów jest renderowana na wierzchu aplikacji. -
Dodano nowy styl
cast.framework.ui.ControlsButton.LIKE_HEART
dla działania użytkownika „Lubię to”. -
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 trwania elementu multimedialnego. -
Dodano parametr
cast.framework.NetworkRequestInfo#timeoutInterval
, aby określić limit czasu żądania HTTP dla żądań dotyczących odtwarzacza. - Naprawiono błędy MPL podczas dekodowania napisów CEA 608/708 w przypadku demuxowanych strumieni audiowizualnych.
- Naprawiono logikę parsowania sygnatury czasu MPL WebVTT, aby przyjmowała więcej niż 2 cyfry w wartości godzin.
9 grudnia 2021 r.
Android Sender 21.0.0
- Dodano lepszą obsługę wartości null w Kotlinie, przez co naruszenia zasad bezpieczeństwa null są traktowane jako błąd. Deweloperzy aplikacji w Javie nie odczują żadnych zmian. Deweloperzy Kotlina mogą zobaczyć nowe błędy kompilacji, jeśli mają kod, który nie jest odporny na null.
19 listopada 2021 r.
iOS Sender 4.7.0
- Naprawiono obsługę nadawcy iOS w przypadku korzystania z kwalifikacji ATV z Cast Connect.
- Usunęliśmy błąd polegający na tym, że paski nawigacyjne miały przezroczyste tło podczas kompilowania za pomocą Xcode 13.
-
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, 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 nową funkcję wywołania
itemsReorderedAtIndexes
do MediaQueue, która jest wywoływana, gdy kolejka zostanie posortowana. - Dodano obsługę serializacji poleceń kolejki.
-
Parametr
customData
wRemoteMediaClient#queueSetRepeatMode
może być teraz opcjonalny. - Funkcja wyświetlania zdalnego została wycofana.
- Wartość kolumny
minSdkVersion
została zwiększona z 14 na 16.
26 października 2021 r.
Web Receiver 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
LOAD_BY_ENTITY
zwracało błąd. - Dodano obsługę kodeków audio AAC o wysokiej efektywności (HE-AAC) dla strumieni transportowych.
-
Naprawiliśmy błąd polegający na tym, że funkcja
PlayerManager.getStats()
nie zwracała prawidłowych wartości wysokości i szerokości. -
Usunięto informacje VAST i VMAP z wiadomości
MediaStatus
, aby uniknąć przepełnienia, które może spowodować rozłączenie nadawcy z odbiorcą. -
Rozwiązaliśmy problem, który powodował, że
endedReason
nie był przekazywany do nadawcy, gdy użytkownik pomijał reklamy. - Rozwiązaliśmy problem polegający na tym, że przerwy na reklamy były usuwane z kolejki ładowania 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 zachowanie przycisku Cast, aby był zawsze widoczny 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ń.
-
Wycofany interfejs API
GCKUICastButton::triggersDefaultCastDialog
. -
Dodano bardziej jednolitą obsługę dostosowywania dialogów w przypadku aplikacji, które implementują niestandardowy interfejs użytkownika za pomocą nowego interfejsu API.
GCKUICastButtonDelegate
- Dodano obsługę trybu ciemnego na urządzeniach z iOS w wersji 13 lub nowszej.
-
Dodano możliwość dostosowywania znaczników reklam w
GCKUIStyleAttributes
. -
Dodaliśmy obsługę właściwości
hlsSegmentFormat
ihlsVideoSegmentFormat
w przypadku multimediów. - Poprawki błędów i usprawnienia działania aplikacji.
29 kwietnia 2021 r.
Web Receiver 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
-
Opublikowano 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
. Aby przetłumaczyć zCastStatusCodes
naCastReasonCodes
, użyj metodyCastContext#getCastReasonCodeForCastStatusCode(int)
. -
Dodano
HlsSegmentFormat
orazHlsVideoSegmentFormat
doMediaInfo.Builder
. -
Oznaczono
foregroundServiceType
wMediaNotificationService
jakomediaPlayback
. -
Zaktualizowano zależności
com.google.android.datatransport:transport-api
do najnowszej wersji. -
Dodano konstruktor
MediaLoadRequestData.Builder
do tworzenia obiektuMediaLoadRequestData
. - Rozwiązanie problemu z przyciskiem odtwarzania/pauzowania na miniodtwarzaczu podczas przechodzenia z transmisji VOD do transmisji na żywo.
-
Wprowadziliśmy
MediaIntentReceiver#ACTION_DISCONNECT
do powiadomień o multimediach z Chromecasta.
-
Opublikowano play-services-cast-tv:18.0.0:
-
Dodano klasę
StoreSessionRequestData
i klasęStoreSessionResponseData
do biblioteki cast-tv.
-
Dodano klasę
5 kwietnia 2021 r.
Web Receiver 3.0.0095
- Uaktualniono odtwarzacz Shaka do wersji 3.0.10.
-
Przycisk Cast jest teraz domyślnie wyświetlany, gdy obsługiwane jest polecenie multimedialne
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. Każdy element odpowiada też domyślnemu poleceniu Asystenta Google. Elementy sugestii są obecnie obsługiwane tylko wtedy, gdy językiem systemowym jest angielski lub japoński.
- Naprawiliśmy błąd w Chromecastu z Google TV, który powodował wyświetlanie nakładki z elementami sterującymi multimediów podczas przesyłania treści ze zdjęciami do domyślnego odbiornika.
- Dodano obsługę zdarzenia
TRACKS_CHANGED
.
18 grudnia 2020 r.
Web Receiver 3.0.0085
-
Dodano opcje
CastReceiverOptions
do wyłączania wczytywania Shaka i MPL.
3 grudnia 2020 r.
iOS Sender 4.5.3
-
Rozwiązano błąd występujący w czasie wczytywania o nazwie „Undefined symbols for architecture arm64” w pliku
GCKCredentialsData
. -
Naprawiono błąd kompilatora związany z konfliktującą opcją nullability w funkcji
GCKCredentialsData
. -
Jeśli w pliku
Info.plist
brakuje wymaganych wpisów usługi Bonjour, w dzienniku pojawiają się teraz komunikaty ostrzegawcze.
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 przeznaczona wyłącznie dla CocoaPods i korzysta z tych samych plików binarnych co wersja 4.5.1.
13 października 2020 r.
iOS Sender 4.5.1
-
Rozwiązanie problemu polegającego na tym, że
GCKUICastButton
z niestandardowym selektorem urządzeń nie aktualizował się, aby odzwierciedlić prawidłowy stan przesyłania. - Usunięto ostrzeżenie o „sprzecznym określeniu możliwości zwracania wartości w typach zwracanych”.
14 września 2020 r.
Web Receiver
- Uaktualniliśmy odtwarzacz Shaka do wersji 2.5.16.
iOS Sender 4.5.0
- Dodaliśmy obsługę zmian w wykrywaniu urządzeń Cast w iOS 14, które wymagają wyraźnej zgody użytkownika podczas przesyłania treści po raz pierwszy. Więcej informacji znajdziesz w artykule Przesyłanie obrazu po raz pierwszy w iOS 14.
- Zaktualizowano minimalną wersję pakietu SDK do iOS 10.
8 września 2020 r.
Web Sender
- Wprowadziliśmy Cast Connect, który umożliwia przesyłanie treści z aplikacji Chrome do aplikacji na Androida TV. Szczegółowe informacje znajdziesz w dokumentacji odbiornika Android TV.
31 sierpnia 2020 r.
Web Receiver
- Dodano obsługę parametru #EXT-X-DATERANGE w HLS / EventStream w DASH.
3 sierpnia 2020 r.
Wysyłacz na iOS w wersji 4.4.8
- Wprowadziliśmy Cast Connect, który 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
-
Wprowadziliśmy Cast Connect, który umożliwia aplikacjom na Androida TV
działanie zgodnie z protokołem Cast, dzięki czemu działają one jak aplikacje odbiornik. Szczegółowe informacje znajdziesz w dokumentacji odbiornika Android TV.
- Opublikowano play-services-cast-tv:17.0.0 jako pakiet SDK odbiornika dla aplikacji na Androida TV.
- Opublikowano interfejsy play-services-cast:19.0.0 i play-services-cast-framework:19.0.0, w tym interfejsy przesyłacza nadawcy Cast Connect oraz interfejsy 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
. -
Zmieniliśmy nazwę interfejsu API z
CastRemoteDisplayLocalService#getDisplay()
naCastRemoteDisplayLocalService#getCastRemoteDisplay()
, aby uniknąć konfliktu interfejsu API w Androidzie 11. -
Dodano użytkowników
getCustomData()
igetType()
do listyMediaError
. -
Dodano szczegółowe obsługiwane stałe bitów poleceń (
MediaStatus#COMMAND_*
) wMediaStatus
. -
Odsłonięty
MediaTrack#getRoles()
. -
Odsłonięty
RemoteMediaClient.Callback#onMediaError()
.
-
Wycofany
13 lipca 2020 r.
Web Receiver
- Ulepszenie wykrywania kategorii multimediów w domyślnym interfejsie (filmy vs. audio).
- Dodaliśmy obsługę czasu bezwzględnego na żywo z odtwarzacza Shaka.
- Rozwiązaliśmy problem z problemami z dźwiękiem na urządzeniach Nest Hub Max.
- Uaktualniono odtwarzacz Shaka do wersji 2.5.12.
4 maja 2020 r.
Web Receiver
- Wartości limitów czasu dla poleceń Asystenta Google można teraz konfigurować.
- Szczegółowe kody błędów MPL są teraz widoczne 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łaszane podczas przerwy w odtwarzaniu.
- Rozwiązano problem z prośbą o wczytanie losowe w Asystencie.
- Naprawienie błędu w wartościach
getStats
.
12 marca 2020 r.
Web Receiver
-
Dodano nową funkcję urządzenia
IS_CBCS_SUPPORTED
dodeviceCapabilities
. - Uaktualniono odtwarzacz Shaka do wersji 2.5.8.
27 lutego 2020 r.
iOS Sender w wersji 4.4.7
- Naprawiono działanie fizycznych przycisków głośności w przypadku aplikacji, które nie korzystają z żadnych komponentów interfejsu użytkownika z pakietu SDK.
-
Rozwiązaliśmy problem z etykietą
currentTime
w rozwiniętym kontrolerze, gdy użytkownik wielokrotnie naciskał przyciski do przodu lub do tyłu. -
Elementy multimedialne w
GCKMediaQueue
są przechowywane po przejściu aplikacji do trybu w tle. -
Aktualizacje dotyczące dostosowywania interfejsu:
- Pasek postępu na mini kontrolerze można teraz dostosować.
- Teraz możesz dostosować kolor tła paska nawigacyjnego i paska narzędzi w oknie przesyłania.
- Rozwiązano problemy z interfejsem na iPhone X.
- Rozwiązaliś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
MediaError
szczegółowe kody błędów oraz przyczyny błędów.
22 stycznia 2020 r.
Web Receiver
- Rozwiązaliśmy problem polegający na tym, że podczas zmiany obsługiwanych poleceń były przesyłane różne stany multimediów.
Odbiornik – wersja 2
- Ulepszona obsługa bitrate’u w przypadku reklam VAST.
MPL
- Dodano obsługę wstępnego pobierania klucza sesji. Więcej informacji znajdziesz w tym projektie 2 edycji specyfikacji HTTP Live Streaming.
7 stycznia 2020 r.
Web Receiver
-
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 polegający na tym, że podczas przechodzenia do nowej sesji multimediów w procesie
PLAYER_LOAD_COMPLETE
brakowało danych o graczach. - Rozwiązaliśmy problem polegający na tym, że ikona multimediów nakładała się na numer klipu przerwy i odliczanie.
- Rozwiązaliśmy problem polegający na tym, że licznik odliczający czas do pierwszego przerwy zawsze wyświetlał godzinę 0:00.
- Uaktualniono odtwarzacz Shaka do wersji 2.5.6.
Web Receiver v2
-
Dodano nową funkcję urządzenia
IS_DEVICE_REGISTERED
dodeviceCapabilities
. Jeśli jest ustawiona, urządzenie Cast jest zarejestrowane w Konsoli programisty Cast na potrzeby 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 polegający na tym, że podczas zmiany poziomu jakości pojawiały się artefakty kompresji wideo.
- Rozwiązaliśmy problem, który powodował, że strumienie HLS korzystające z segmentów *.m4s nie działały.
5 grudnia 2019 r.
Android Sender 18.0.0
-
Dodano
setMediaSessionEnabled
możliwość włączania i wyłączania sesji multimedialnej utworzonej przez pakiet SDK Cast. - Zmieniliśmy sposób wyświetlania powiadomień o multimediach podczas sesji przesyłania treści. Jeśli powiadomienie o multimediach jest włączone, będzie się zawsze wyświetlać 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 w wersji 4.4.6
- Rozwiązano problem związany z minimalną obsługiwaną wersją iOS 9.
7 października 2019 r.
Web Receiver
- Ujawnione role utworów jako część metadanych utworów.
- Uaktualniono wersję odtwarzacza Shaka do 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.
-
Dodano nowe polecenia multimedialne do
GCKMediaStatus
. -
Do właściwości
GCKAdBreakStatus
dodano właściwośćwhenSkippable
. - Poprawki interfejsu dotyczące reklam i iOS 13.
11 września 2019 r.
Android Sender 17.1.0
-
Dodano pole
MediaError
w RemoteMediaClient.MediaChannelResult za pomocą którego można uzyskać dostęp do szczegółowego kodu błędu w przypadku nieudanych poleceń dotyczących multimediów. -
Pola
MediaStatus.COMMAND_SKIP_FORWARD
iMediaStatus.COMMAND_SKIP_BACKWARD
są wycofane. Aplikacje powinny zamiast tego używać interfejsówMediaStatus.COMMAND_QUEUE_NEXT
iMediaStatus.COMMAND_QUEUE_PREVIOUS
. -
Dodano nową zależność od
com.google.android.datatransport:transport-api:2.0.0
.
9 września 2019 r.
Web Receiver
-
TV_SHOW
typ metadanych ma teraz podgląd „Odtwarzane dalej” w odtwarzaczu domyślnym, jeśli następny element jest wstępnie załadowany. -
Dodaliśmy klasę
ContentRating
do przestrzeni nazwcast.framework.messages
. -
Zmieniono 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 wskazać czas rozpoczęcia w odniesieniu do końca treści lub krawędzi na żywo.
- Przeglądanie multimediów:
- Szuflada przeglądania multimediów jest teraz automatycznie ukryta po 30 sekundach braku aktywności użytkownika.
- Dodano przycisk Odtwórz/Wstrzymaj i miniaturę elementu multimedialnego w prawym górnym rogu nakładki Przeglądanie multimediów.
- 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 w przypadku wstępnego wczytania reklamy.
- Znak wodny jest teraz wyświetlany razem z pozostałymi metadanymi.
-
Domyślne interfejsy audio na Chromecastzie uwzględniają style
.progressBar
. - Usunięto wyświetlanie ekranu IDLE przed wczytywaniem i pomiędzy odtwarzaniem kolejnych elementów multimedialnych.
- Naprawiono problem z zacinaniem się podczas przewijania treści Dash.
Web Receiver v2
-
Dodaliśmy klasę
ContentRating
do przestrzeni nazwcast.receiver.media
. - Naprawiliśmy błąd polegający na tym, że dane o błędach były nieprawidłowo rozpowszechniane, gdy w kole znajdowało się wiele elementów.
Biblioteka odtwarzacza multimedialnego
- 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 podczas przełączania ś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.).
- Rozwiązaliśmy problem z HLS, w którym napisy CEA608 w paśmie były wyświetlane z zauważalnym opóźnieniem.
- Rozwiązaliśmy problem z wczytywaniem treści HLS i Smooth bez dźwięku.
27 sierpnia 2019 r.
Web Sender
- Moduł Web Sender korzysta teraz z nowej składni elementów niestandardowych w wersji 1. Ta wersja zastępuje wersję 0, która została wycofana.
-
Naprawiono zmienione zdarzenia
breakTime
,breakClipTime
iliveSeekableRange
, korzystając z nowych funkcjigetEstimatedBreakTime
,getEstimatedBreakClipTime
igetLiveSeekableRange
dodanych do Chrome M77.
12 sierpnia 2019 r.
iOS Sender w wersji 4.4.4
- Ulepszone działanie na iOS 13.
- Ulepszona obsługa wykrywania urządzeń przesyłających.
30 lipca 2019 r.
Web Receiver
- Uaktualniono wersję odtwarzacza Shaka do 2.5.1.
- Rozwiązanie problemu polegającego na tym, że nakładka metadanych znikała zbyt szybko podczas wczytywania treści.
- Naprawiono obsługę odrzucenia w przechwytywanie wczytywania, aby wyczyścić stan wczytywania.
- Zmiana atrybutu
setBrowseContent
tak, aby można było go pominąć. - Rozwiązaliśmy problem polegający na tym, że podany czas był nieprawidłowy podczas przewijania reklam.
- 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.
- opublikować wersję pakietu SDK 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ć, dopóki nie wprowadzisz w aplikacji tych zmian:
-
Zaktualizuj
com.android.tools.build:gradle
do wersji 3.2.1 lub nowszej. - Zaktualizuj
compileSdkVersion
do wersji 28 lub nowszej. - Zaktualizuj aplikację, aby używać Jetpacka (AndroidX). Postępuj zgodnie z instrukcjami podanymi w artykule Przenoszenie na AndroidX.
- Więcej informacji znajdziesz w notatkach o wydań interfejsów API Google na Androida.
10 czerwca 2019 r.
Web Receiver
- Wprowadziliśmy obsługę przeglądarki multimediów, nowej funkcji umożliwiającej odkrywanie treści na urządzeniach wyświetlających.
- 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ące aplikacji na żywo i innych obszarów.
iOS Sender w wersji 4.4.2
- tryb gościa
- Dodano obsługę opcji „Włącz tryb gościa” w Konsoli Play.
- Rozwiązano problem z zarządzaniem sesją w trybie gościa.
- Poprawki błędów
- Rozwiązanie problemu z lokalizacją wprowadzonego w wersji 4.4.1.
24 kwietnia 2019 r.
iOS Sender w wersji 4.4.1
- 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 GCKMediaMetadata.
- Dodano polecenia dotyczące multimediów w transmisjach na żywo:
- [GCKRemoteMediaClient loadMediaWithLoadRequestData:]
- [GCKRemoteMediaClient seekWithOptions:]
- Ulepszone rozszerzone menu 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 łączeniem, gdy system operacyjny wykonuje rozległe operacje sieciowe.
- Naprawiono błąd inicjowania etykiety ułatwień dostępu za pomocą przycisku GCKUICastButton.
23 kwietnia 2019 r.
Web Receiver
- Wprowadziliśmy obsługę transmisji na żywo w wersji alfa. Szczegółowe informacje znajdziesz w przewodniku dla programistów.
- Zaktualizowano interfejs, aby obsługiwał transmisje na żywo, w tym wskaźnik transmisji na żywo.
- Dodano pole „mediaCategory” (kategoria multimediów) do stanu multimediów, aby wskazać, czy multimedia to film, dźwięk czy zdjęcie.
- Poprawki błędów
- Naprawiono użycie wartości zwracanej playbackConfig.segmentHandler.
Biblioteka odtwarzacza multimedialnego
- Dodano obsługę kodeka HEVC w HLS w MPL.
Web Sender
- Wprowadziliśmy obsługę transmisji na żywo w wersji alfa. 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ę 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)
- Ulepszone rozszerzone menu kontrolera do obsługi transmisji na żywo:
- Dodano 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 kontrolki SeekBar w celu zapewnienia zgodności z transmisją na żywo. Metoda ExpandedControllerActivity#getSeekBar() jest teraz wycofana i zwróci pustą 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 w taki sam sposób 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 mediach mogą zawierać dodatkowe informacje uzyskane przez odbiornik.
- Zmodyfikowano metadanych MediaMetadata, aby obsługiwać audiobooki:
- Dodano nowe klucze MediaMetadata.
- Dodano nowy typ metadanych dla audiobooków.
25 marca 2019 r.
Web Receiver
-
Zastąpiliśmy pakiet
document.registerElement()
pakietemcustomElements.define()
, aby umożliwić kompatybilność pakietu SDK odbiornika internetowego z nowszymi wersjami platformy Cast. -
MediaStatus.breakStatus
teraz zwraca pusty obiekt, gdy w treściach występują przerwy na reklamę, ale żadna z nich nie jest obecnie odtwarzana. - Rozwiązaliśmy problem z analizowaniem tagów VAST w dokumencie.
Biblioteka odtwarzacza multimedialnego
- Rozwiązaliśmy problem z opóźnieniem rzędu 20 s podczas przełączania ścieżek audio.
13 lutego 2019 r.
Web Receiver
- Naprawiono 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.
- Rozdziel styleAtrybuty paska nawigacyjnego i paska narzędzi w elementach sterujących połączenia.
- Poprawki błędów
- Naprawiono błąd powodujący awarię w przypadku niektórych nieudanych inicjalizacji bazy danych.
- Rozwiązano problem z paskiem głośności w Web Receiver podczas przychodzących połączeń telefonicznych lub alarmów.
- 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 niedostępnych 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ą.