Для каждой новой версии Google Cast изменения описаны ниже, а ссылки на API обновляются. Изменения в контрольном списке дизайна см. в журнале изменений .
7 октября 2025 г.
iOS Sender 4.8.4
- Добавлен пользовательский интерфейс, позволяющий пользователям прочитать и одобрить Условия предоставления услуг Cast и Политику конфиденциальности на стороне отправителя.
- Минимальная версия, поддерживаемая iOS SDK, теперь — iOS 15.
- Cocoapods выпускает статическую библиотеку по умолчанию, начиная с версии 4.3.1. Начиная с версии 4.8.4, эта статическая библиотека включает в себя библиотеку Protobuf. Мы рекомендуем использовать статическую библиотеку, чтобы избежать возможных проблем совместимости с Protobuf. Однако вы также можете загрузить динамическую библиотеку .
- Обратите внимание, что сбои трансляции и отключения с кодом
GCKErrorCode
, равнымGCKErrorCodeCancelled
являются запланированным поведением. Убедитесь, что ваше приложение не пытается автоматически повторить трансляцию в случае сбоя или отключения из-заGCKErrorCodeCancelled
, так как это может привести к непредсказуемому поведению, если пользователь отклонит Условия обслуживания.
12 мая 2025 г.
Android Sender 22.1.0
- Выпущены play-services-cast:22.1.0 и play-services-cast-framework:22.1.0
- Обновлено для зависимости от androidx.mediarouter:mediarouter:1.8.0-beta01 и поддержки API AndroidX Media Router
MediaRouter.RouteInfo#connect()
иMediaRouter.RouteInfo#disconnect()
. - Добавляет
CastOptions.Builder
для настройки API AndroidXMediaRouterParams.Builder#setMediaTransferRestrictedToSelfProviders(boolean)
.
- Обновлено для зависимости от androidx.mediarouter:mediarouter:1.8.0-beta01 и поддержки API AndroidX Media Router
28 октября 2024 г.
Android Sender 22.0.0 и Android TV Receiver 21.1.1
- Исправлена потенциальная уязвимость типа «отказ в обслуживании», обнаруженная в библиотеке Protobuf Java Lite.
- Удалён MediaNotificationService. Он не должен использоваться приложениями напрямую.
- Исправлена ошибка для устройств под управлением Android R или более ранних версий, из-за которой попытка отобразить слишком маленькое изображение в уведомлении Google Cast могла привести к сбою системного пользовательского интерфейса.
4 сентября 2024 г. 1 ноября 2024 г.
Веб-приемник 3.0.0133 3.0.0135 3.0.0137
- Версия Shaka Player, используемая CAF по умолчанию, обновлена с 4.3.4 до 4.9.2. Полный список изменений см. в журнале изменений Shaka Player.
- Включена предварительная загрузка контента для плеера Shaka. Это позволяет плавно переключаться между медиафайлами и рекламными паузами.
- Исправлены ошибки, вызванные переключением кодеков Shaka.
- Добавлено новое поле
ErrorSeverity
для ошибок Shaka. Если уровень серьёзности —RECOVERABLE
, воспроизведение не должно останавливаться. - Исправлена ошибка загрузки контента при одновременных запросах на загрузку.
- Внутри CAF теперь используется
shaka.Player#attach
для присоединения элемента мультимедиа вместо передачи элемента мультимедиа конструкторуshaka.Player
(устарело в API Shaka). - Добавлены поля
frameType
иframeDescription
вcast.framework.events.Id3Event
. Эти поля заполняются при воспроизведении с помощью Shaka Player. - Добавлены события
REQUEST_GET_STATUS
иREQUEST_PRELOAD
. Эти события можно прослушивать с помощьюPlayerManager#addEventListener
. - Добавлен ответ об ошибке для запросов на загрузку с неверным
requestId
вместо молчаливого сбоя. - Исправлен журнал предупреждений для конфигурации
jumpLargeGaps
игрока Shaka Player, которая устарела в Shaka v4. - Начато заполнение
requestId
в сообщенииMediaStatus
для состоянияLOADING
. - Перезапускать экземпляр проигрывателя Shaka при загрузке нового контента.
- Прекращена поддержка устаревшей медиа-команды
QUEUE_SHUFFLE
. Вместо неё используйтеQUEUE_UPDATE
. - Исправлена поддержка рекламных модулей VAST, в которых каждый тег
<Ad>
имеет атрибутsequence
и вложенный тег<Wrapper>
. - Исправлено распространение атрибута
crossorigin
без значения из<cast-media-player>
во вложенный элемент<video>
. - Раскрыть язык внутриполосного звука в MPL.
22 августа 2024 г.
iOS Sender 4.8.3
- Исправлена ошибка, из-за которой кнопка Cast Button не открывала окно выбора устройств при нажатии.
- Исправлен сбой, затрагивающий устройства под управлением iOS 17 и более поздних версий, связанный с AVRouting.
18 апреля 2024 г.
iOS Sender 4.8.1
- Минимальная версия, поддерживаемая Cast SDK, теперь — iOS 14.
- Манифест конфиденциальности включен в пакет вместе с подписанным xcframework.
- Гостевой режим устарел и удалён. С этого выпуска для интеграции будет доступен только один вариант SDK.
- Исправлен сбой, возникавший, если во время трансляции иногда воспроизводилась короткая реклама.
11 декабря 2023 г.
Веб-приемник 3.0.0122
- Добавлена поддержка Ad Pods и Ad Buffet для VAST.
- Обновленный пользовательский интерфейс управления мультимедиа Cast Player для устройств Google TV.
- Добавлено новое поле
audioTrackInfo
в объектTrack
. - Добавлен
cast.framework.system.Message
, представляющий сообщение, полученное от отправителя или отправленное ему. - Изменена логика прерывания поиска. Теперь веб-приёмник создаёт синтетический разрыв
seek-{timestamp}
только при возврате более одного разрыва изBreakManager#setBreakSeekInterceptor
. В противном случае разрыв поиска остаётся равным исходному разрыву на временной шкале. - Добавлен параметр
CastReceiverOptions#shakaVariant
для загрузки отладочных версий Shaka Player в CAF. - Исправлена ошибка, из-за которой
PlaybackConfig#licenseRequestHandler
иPlaybackConfig#licenseResponseHandler
не распознавались Shaka для HLS при использовании шифрования AES-128. - Исправлена ошибка, из-за которой
ID3Event
не срабатывал при использовании Shaka Player. - Исправлены сторонние текстовые дорожки при использовании преролл-рекламы.
- Исправлена отрисовка текста при использовании
UITextDisplayer
. - Исправлены различные проблемы с чувствительностью к регистру для типов VAST, MIME и названий систем защиты контента.
- Исправлены различные проблемы с принудительными субтитрами.
- Исправлено заполнение кодов
EndedReason
для событийBREAK_CLIP_ENDED
.
4 декабря 2023 г.
Android Sender 21.4.0 и Android TV Receiver 21.0.1
- Выпущены play-services-cast:21.4.0 и play-services-cast-framework:21.4.0
- Увеличено значение minSdkVersion с 16 до 19.
- Обновлено для зависимости от androidx.mediarouter:mediarouter:1.6.0-beta01. Благодаря этому
MediaRouteButtons
всегда отображаются по умолчанию. Это позволило сократить количество случаев, когда обнаружение устройств Cast запускается автоматически без действий пользователя. - Добавлен
CastOptions.Builder#setSessionTransferEnabled
позволяющий указать, должно ли приложение-отправитель отображать устройства Cast при включенном переключателе вывода . Значение по умолчанию — true. -
MediaSessions
больше не создаются, если приложения не устанавливаютCastMediaOptions
или устанавливают CastMediaOptions в значение null. - Исправлена ошибка
MiniControllerFragment
android.view.InflateException
, которая могла возникнуть при использованииFragmentContainerViews
. - Добавлены новые версии
CastButtonFactory#setUpMediaRouteButton
, возвращающиеTasks
, которые приложения могут прослушивать на предмет успешного выполнения или выдачи исключения. Старые версии , не принимающие аргументExecutor
, будут игнорировать исключения ModuleUnavailableException и завершаться сбоем без предупреждения.
- Выпущен play-services-cast-tv:21.0.1
- Увеличено значение minSdkVersion с 16 до 19.
- В этом выпуске внесены улучшения качества.
20 июля 2023 г.
iOS Sender 4.8.0
- Минимальная версия, поддерживаемая iOS SDK, теперь — iOS 13.
- Первый стабильный выпуск XCFramework.
- XCFrameworks доступен через Cocoapods.
- Восстановлена возможность управления громкостью с помощью физических кнопок громкости во время воспроизведения мультимедиа.
- Кнопка Cast теперь учитывает цвет оттенка при использовании на панели навигации.
- Цвет заголовка навигации теперь можно настраивать с помощью API GCKUIStyle .
- Исправлена проблема с прозрачной панелью навигации в представлении списка субтитров медиа-дорожек.
- Исправлен сбой в бета-версии XCFramework.
- Добавлен API для привязки UIControl к действиям перемотки вперед или назад.
- Добавлена поддержка трансляции на планшеты Pixel.
6 июля 2023 г.
Веб-приемник 3.0.0111
- Добавлена поддержка динамической вставки рекламы с помощью
BreakManager
addBreak(breakData, breakClips, broadCastMediaStatus)
иremoveBreakById(breakId)
. - Добавлен анализ строк
Subtype
в манифесты Smooth. - Добавлена поддержка асинхронных запросов в
manifestRequestHandler
,segmentRequestHandler
иlicenseRequestHandler
для Shaka Player. - Добавлена поддержка принудительных субтитров.
- Версия Shaka по умолчанию для CAF повышена до v4.3.4.
- Уточнено описание параметра
setActiveByIds
. - Исправлен способ выбора CAF отдельных звуковых дорожек.
- Исправлены преобразования типа тела запроса для фильтров запросов Shaka.
- Добавлена возможность запрашивать
CreativeInformation
, связанную сBreakClip
вBreakManager
getCreativeInfoByClipId(breakClipId)
. - Исправлена ошибка, из-за которой отсутствовали метаданные медиа при загрузке элемента медиа на устройствах, управляемых DPad.
- Добавлены свойства
hlsSegmentFormat
иhlsVideoSegmentFormat
вBreakClip
. - Исправлено сравнение типов MIME с учетом регистра с использованием MPL.
- Исправлена бесконечная буферизация живого HLS (на основе TS) при загрузке с помощью Shaka Player.
- Исправлено поведение
PlayerDataBinder
для событияIS_AT_LIVE_EDGE_CHANGED
. - Исправлен бесконечный цикл при недостаточности данных, предоставленных в сегментах TS с использованием MPL.
- Добавлен
error.stack
для ошибок Shaka Player. - Изменено для использования поля
audioMimeType
вместоaudioCodec
из объекта дорожки Shaka Player для заполнения поляcast.framework.messages.Track.trackContentType
для вариантных дорожек. - Добавлен
shaka.extern.track.label
вcast.framework.messages.Track.name
для треков Shaka Player. - Расширен объект
cast.framework.stats.Stats
для учета существующих полей вshaka.extern.Stats
. - Исправлен расчет времени показа медиаконтента с расширенными встроенными паузами.
28 марта 2023 г.
Android Sender 21.3.0 и Android TV Receiver 21.0.0
- Выпущены play-services-cast:21.3.0 и play-services-cast-framework:21.3.0
- Теперь для публикации уведомлений Cast media используется
NotificationManager
вместоForeground Service
. - Добавлен новый
CastReasonCodes#CAST_CANCELLED
для индикации отмены сеансов Cast.
- Теперь для публикации уведомлений Cast media используется
- Выпущено play-services-cast-tv:21.0.0
- Исправлена аннотация, допускающая значение NULL, для
MediaManager
.
- Исправлена аннотация, допускающая значение NULL, для
17 октября 2022 г.
Веб-приемник 3.0.0105
- Обновлен плеер Shaka до версии 3.2.11.
- Добавлен
cast.framework.PlaybackConfig#enableUITextDisplayer
для отображения субтитров в Shaka Player с использованием DOM. - Добавлены
cast.framework.CastReceiverOptions#shakaVersion
иcast.framework.CastReceiverOptions#useShakaForHls
, чтобы разрешить приемникам использовать Shaka Player для воспроизведения HLS. -
PlaybackConfig#manifestHandler
,PlaybackConfig#segmentHandler
иPlaybackConfig#licenseHandler
теперь могут получать доступ к заголовкам HTTP-ответов. - Добавлен
customData
вCommandAndControlManager#ErrorResponseData
, когда сообщениеLOAD_BY_ENTITY
разрешается с ошибкой.
10 октября 2022 г.
Android Sender 21.2.0
- Выпущены play-services-cast:21.2.0 и play-services-cast-framework:21.2.0
- Представлена функция
Output Switcher
. - Добавлен новый API
Cast.Listener#onDeviceNameChanged()
для уведомления об изменении имени устройства дляstream transfer
. - Устаревшие
CastOptions.Builder#setVolumeDeltaBeforeIceCreamSandwich(double)
иCastOptions#getVolumeDeltaBeforeIceCreamSandwich()
. - Исправлено исключение
ForegroundServiceStartNotAllowedException
с помощьюMediaNotificationService
. - Обновленная
MediaNotificationService
сMedia controls in System UI
. - Обновлены API
RemoteMediaClient
для поддержкиcustomData
, допускающих значение NULL. - Обновлен
MediaInfo.Builder
для принятияcontentId
илиcontentURL
. - Обновлено
ImagePicker#onPickImage
для поддержкиMediaMetadata
, допускающих значения NULL. - Обновлена зависимость
com.google.android.datatransport:transport-api
до последней версии.
- Представлена функция
8 августа 2022 г.
Android Sender 21.1.0 и Android TV Receiver 20.0.0
- Выпущены play-services-cast:21.1.0 и play-services-cast-framework:21.1.0
-
CastContext#getSharedInstance(Context)
устарел. Вместо него используйтеCastContext#getSharedInstance(Context, Executor)
, который возвращает API Task, иModuleUnavailableException
для обработки исключения, когда Cast SDK не удаётся загрузить внутренний модуль Cast. - Устаревший
ApplicationMetadata#getImages()
. Вместо него используйтеApplicationMetadata#getIconUrl()
, который возвращает изображение приложения, заданное в консоли разработчика Cast. - Исправлена ошибка
ConcurrentModificationException
, которая могла возникнуть при регистрации и отмене регистрацииMediaQueue.Callbacks
. - Исправлен
MediaInfo#getStreamDuration()
для прямых трансляций. - Исправлены ограничения на отображение уведомлений для
MediaNotificationService
на Android S. - Исправлена ошибка, из-за которой
CastContext
выдавал ссылку на активность. - Исправлена ошибка, из-за которой во время рекламы отображалось четкое фоновое изображение вместо размытого.
-
- Выпущен play-services-cast-tv:20.0.0
- Увеличил
minSdkVersion
с 14 до 16. - Исправлена проблема с
MediaManager#setSessionCompatToken(MediaSession.CompatToken)
из-за которой аргумент null поддерживался неправильно.
- Увеличил
31 марта 2022 г.
Веб-приемник 3.0.0103, MPL Player 1.0.0.113
- Обновлена версия плеера Shaka по умолчанию до 3.2.2.
- Добавлен новый API
cast.framework.PlaybackConfig#shakaConfig
, позволяющий переопределять версию проигрывателя Shaka и другие параметры Shaka. - Добавлен новый API
cast.framework.ui.Controls#hasMediaControlsOverlay()
для запроса того, отображается ли наложение элемента управления мультимедиа поверх приложения. - Добавлен новый стиль
cast.framework.ui.ControlsButton.LIKE_HEART
для действия пользователя «Нравится». - Значение
currentMediaTime
данных событияcast.framework.events.EventType.BREAK_CLIP_ENDED
теперь представляет собой текущее время последнего клипа-брейка в момент возникновения события. - Добавлен метод
cast.framework.PlayerManager#getRawCurrentTimeSec
, который возвращает время медиа-элемента. - Добавлен
cast.framework.NetworkRequestInfo#timeoutInterval
для указания времени ожидания HTTP-запроса для запросов проигрывателя. - Исправлены ошибки MPL при декодировании субтитров CEA 608/708 для демультиплексированных потоков A/V.
- Исправлена логика анализа временной метки MPL WebVTT для принятия более 2 цифр для значения часов.
9 декабря 2021 г.
Android Sender 21.0.0
- Добавлена улучшенная поддержка допустимости значений NULL для Kotlin: нарушения безопасности NULL теперь считаются ошибками. Разработчики Java не заметят никаких последствий. Разработчики Kotlin могут столкнуться с ошибками сборки, если их существующий код не является безопасным для NULL.
19 ноября 2021 г.
iOS Sender 4.7.0
- Исправлена поддержка отправителя iOS для использования учетных данных ATV с Cast Connect.
- Исправлена ошибка, из-за которой панели навигации имели прозрачный фон при сборке в Xcode 13.
- Исправлены проблемы с доступом, связанные с
GCKUICastButton.
- Исправлена ошибка, из-за которой переключение между Wi-Fi и сотовой связью приводило к отключению сеанса трансляции, а не к его приостановке.
- Прекращена поддержка iOS10 и iOS11 и, как следствие, поддержка 32-битных архитектур.
- Исправлены другие ошибки и улучшена производительность.
16 ноября 2021 г.
Android Sender 20.1.0
- Примечание: приложения, предназначенные для Android 12, необходимо обновить до Android Sender 20.1.0, чтобы избежать сбоя во время выполнения.
- Улучшения очереди
- Добавлен новый обратный вызов
itemsReorderedAtIndexes
в MediaQueue , который вызывается при переупорядочивании очереди. - Добавлена поддержка сериализации команд очереди.
- Параметр
customData
вRemoteMediaClient#queueSetRepeatMode
теперь может иметь значение NULL. - Функция удаленного отображения устарела.
- Значение
minSdkVersion
увеличено с 14 до 16.
26 октября 2021 г.
Веб-приемник 3.0.0102
- Обновитесь до версии Shaka player v3.0.13 (которая, в свою очередь, исправляет ряд ранее выявленных проблем).
- Добавлена поддержка дополнительных изображений на смарт-дисплеях и устройствах Chromecast.
- Исправлена ошибка, из-за которой субтитры не отображались для буферизованных потоков из-за ошибки в логике, используемой для обнаружения дубликатов дорожек.
- Исправлена ошибка, из-за которой обратный вызов ошибки приемника не срабатывал, если
LOAD_BY_ENTITY
возвращал ошибку. - Добавлена поддержка высокоэффективных аудиокодеков AAC (HE-AAC) для транспортных потоков.
- Исправлена ошибка, из-за которой
PlayerManager.getStats()
не возвращал правильные значения высоты и ширины. - Удалена информация VAST и VMAP из сообщений
MediaStatus
, чтобы избежать переполнений, которые могут привести к отключению отправителя от получателя. - Исправлена проблема, из-за которой отправителю не предоставлялась
endedReason
при пропуске рекламы. - Исправлена проблема, из-за которой рекламные паузы удалялись из очереди загрузки перед воспроизведением.
- Добавлено новое поле
cast.framework.message.QueueChange#reorderItemIds
, которое содержит список элементов очереди, затронутых операциейQUEUE_CHANGE
. - Уменьшена буферизация прямых трансляций HLS в MPL при переключении между звуковыми дорожками, поэтому аудио и видео теперь остаются синхронизированными.
- Исправлен парсинг потоков HLS в MPL со встроенными субтитрами CEA608/CEA708.
- Элементы управления мультимедиа для Chromecast с Google TV будут скрыты, если воспроизведение мультимедиа приостановлено более чем на 5 секунд.
26 мая 2021 г.
iOS Sender 4.6.1
- Исправлена проблема, из-за которой фоновые сеансы Cast приостанавливались для приложений, которые разрешают фоновое выполнение.
17 мая 2021 г.
iOS Sender 4.6.0
- Изменено поведение кнопки Cast по умолчанию: теперь она всегда отображается при подключении к Wi-Fi.
- Добавлен новый диалог справки, который отображается, когда пользователь нажимает кнопку трансляции, а устройства не найдены.
- Устаревший API
GCKUICastButton::triggersDefaultCastDialog
. - Добавлена более унифицированная поддержка настройки диалоговых окон для тех приложений, которые реализуют собственный пользовательский интерфейс через новый API
GCKUICastButtonDelegate
. - Добавлена поддержка темного режима для iOS 13 и выше.
- Добавлена настройка маркера рекламы в
GCKUIStyleAttributes
. - Добавлена поддержка
hlsSegmentFormat
иhlsVideoSegmentFormat
для медиа. - Исправления ошибок и улучшения производительности.
29 апреля 2021 г.
Веб-приемник 3.0.0096
20 апреля 2021 г.
Android Sender 20.0.0 и Android TV Receiver 18.0.0
- Выпущены play-services-cast:20.0.0 и play-services-cast-framework:20.0.0.
- Удалён GameManager и связанные с ним API. Они устарели с 2017 года.
- Добавлен класс
SessionState
в клиентскую библиотеку cast. - Добавлено
CastReasonCodes
для подробного объясненияCastStatusCodes
. Для преобразованияCastStatusCodes
вCastReasonCodes
используйте методCastContext#getCastReasonCodeForCastStatusCode(int)
. - Добавлены
HlsSegmentFormat
иHlsVideoSegmentFormat
вMediaInfo.Builder
. - Для
foregroundServiceType
службыMediaNotificationService
установлено значениеmediaPlayback
. - Обновлены зависимости
com.google.android.datatransport:transport-api
до последней версии. - Добавлен конструктор
MediaLoadRequestData.Builder
для сборки из объектаMediaLoadRequestData
. - Исправлена проблема с кнопкой воспроизведения/паузы на мини-плеере при переключении с VOD на LIVE-трансляцию.
- Реализован
MediaIntentReceiver#ACTION_DISCONNECT
для уведомлений Cast media.
- Выпущено play-services-cast-tv:18.0.0:
- Добавлены классы
StoreSessionRequestData
иStoreSessionResponseData
в библиотеку cast-tv.
- Добавлены классы
5 апреля 2021 г.
Веб-приемник 3.0.0095
- Обновлен Shaka Player до версии 3.0.10.
- Кнопка трансляции теперь отображается по умолчанию, если поддерживается медиа-команда
STREAM_TRANSFER
. - Добавлена панель предложений в нижнюю часть интерфейса просмотра медиафайлов. Панель предложений содержит интерактивные элементы, которые при выборе позволяют воспроизвести медиафайл или прокрутить доступные элементы. Каждый элемент также соответствует доступной команде Google Ассистента. В настоящее время элементы предложений поддерживаются только при выборе английского или японского языка системы.
- Исправлена ошибка в Chromecast с Google TV, из-за которой отображалось наложение элементов управления мультимедиа при трансляции фотоконтента на приемник по умолчанию.
- Добавлена поддержка события
TRACKS_CHANGED
.
18 декабря 2020 г.
Веб-приемник 3.0.0085
- Добавлены параметры в
CastReceiverOptions
для отключения загрузки Shaka и MPL.
3 декабря 2020 г.
iOS Sender 4.5.3
- Исправлена ошибка загрузки «Неопределенные символы для архитектуры arm64» для
GCKCredentialsData
. - Исправлена ошибка компилятора, связанная с конфликтующей допустимостью значений NULL в
GCKCredentialsData
. - Предупреждающие сообщения теперь регистрируются, если требуемые записи службы Bonjour отсутствуют в
Info.plist
.
4 ноября 2020 г.
iOS Sender 4.5.2
- Минимальная версия библиотеки
Protobuf
в CocoaPods обновлена до 3.13. Использование предыдущих версийProtobuf
приведёт к сбою SDK. - Этот выпуск эксклюзивен для CocoaPods и использует тот же двоичный файл, что и v4.5.1.
13 октября 2020 г.
iOS Sender 4.5.1
- Исправлена ошибка, из-за которой
GCKUICastButton
с пользовательским выбором устройств не обновлялся для отражения правильного состояния Cast. - Исправлено предупреждение «Конфликтующий спецификатор допустимости значений NULL в возвращаемых типах».
14 сентября 2020 г.
Веб-приемник
- Обновлен Shaka Player до версии 2.5.16.
iOS Sender 4.5.0
- Добавлена поддержка изменений в обнаружении устройств Cast в iOS 14, которые требуют явного разрешения пользователя при первой трансляции. Подробнее см. в разделе «Первая трансляция в iOS 14» .
- Обновлена минимальная поддержка SDK до iOS 10.
8 сентября 2020 г.
Веб-отправитель
- Представлена функция Cast Connect , позволяющая транслировать контент из приложений Chrome на приложения Android TV. Подробности см. в документации к Android TV Receiver .
31 августа 2020 г.
Веб-приемник
- Добавлена поддержка #EXT-X-DATERANGE в HLS/EventStream в DASH.
3 августа 2020 г.
Отправитель iOS 4.4.8
- Представлена функция Cast Connect , позволяющая транслировать контент с iOS-приложений на приложения Android TV. Подробнее см. в документации к Android TV Receiver .
29 июля 2020 г.
Android Sender 19.0.0 и Android TV Receiver 17.0.0
- Представлена технология Cast Connect , которая позволяет приложениям Android TV поддерживать протокол Cast и работать как приложения Receiver. Подробнее см. в документации к Android TV Receiver .
- Выпущен play-services-cast-tv:17.0.0 в качестве SDK приемника для приложений Android TV.
- Выпущены play-services-cast:19.0.0 и play-services-cast-framework:19.0.0, включая API-интерфейсы отправителя Cast Connect и API-интерфейсы, используемые play-services-cast-tv.
- Обновления API:
- Устаревший
AdBreakStatus#AD_BREAK_CLIP_NOT_SKIPPABLE
, вместо него используйтеAdBreakClipInfo#AD_BREAK_CLIP_NOT_SKIPPABLE
. - Переименован
CastRemoteDisplayLocalService#getDisplay()
вCastRemoteDisplayLocalService#getCastRemoteDisplay()
чтобы избежать конфликта API в Android 11. - Добавлены
getCustomData()
иgetType()
вMediaError
. - Добавлены подробные поддерживаемые константы битов команд (
MediaStatus#COMMAND_*
) вMediaStatus
. - Открытый
MediaTrack#getRoles()
. - Выставлен
RemoteMediaClient.Callback#onMediaError()
.
- Устаревший
13 июля 2020 г.
Веб-приемник
- Улучшено определение категории медиа для пользовательского интерфейса по умолчанию (видео и аудио).
- Добавлена поддержка абсолютного времени в реальном времени от Shaka Player.
- Исправлена проблема со сбоями звука на устройствах Nest Hub Max.
- Обновлен Shaka Player до версии 2.5.12.
4 мая 2020 г.
Веб-приемник
- Значения тайм-аута для команд Google Assistant теперь можно настраивать.
- Подробные коды ошибок MPL теперь отображаются в событиях ошибок.
- Поддерживаемые медиа-команды теперь можно принудительно применять с помощью флага
enforceSupportedCommands
. - Исправлены поддерживаемые команды, сообщаемые во время перерыва в воспроизведении.
- Исправлена проблема с запросом на загрузку случайного воспроизведения с помощью Ассистента.
- Исправлена ошибка в значениях
getStats
.
12 марта 2020 г.
Веб-приемник
- Добавлена новая возможность устройства
IS_CBCS_SUPPORTED
вdeviceCapabilities
. - Обновлен Shaka Player до версии 2.5.8.
27 февраля 2020 г.
iOS Sender v4.4.7
- Исправлены физические кнопки регулировки громкости для приложений, которые не используют компоненты пользовательского интерфейса из SDK.
- Исправлена проблема с меткой
currentTime
в расширенном контроллере при повторном нажатии кнопок «вперед» или «назад». - Элементы мультимедиа в
GCKMediaQueue
сохраняются после перехода приложения в фоновый режим. - Обновления настройки пользовательского интерфейса:
- Полоса прогресса мини-контроллера теперь настраивается.
- Цвет фона панели навигации и панели инструментов диалогового окна Cast теперь можно настраивать.
- Исправлены проблемы с пользовательским интерфейсом, характерные для iPhone X.
- Исправлено несколько проблем, приводивших к зависаниям и сбоям.
24 февраля 2020 г.
Android Sender 18.1.0
- Добавлены предопределенные константы для подробных кодов ошибок
MediaError
и причин ошибок.
22 января 2020 г.
Веб-приемник
- Исправлена ошибка, из-за которой транслировались несколько статусов носителя при изменении поддерживаемых команд.
Приемник v2
- Улучшить выбор битрейта для рекламы VAST.
МПЛ
- Добавлена поддержка предварительной загрузки сеансового ключа. Подробнее см. в черновике HTTP Live Streaming 2nd Edition .
7 января 2020 г.
Веб-приемник
- Добавлена поддержка метаданных с временным интервалом ID3 в
cast.framework.events.EmsgEvent
. Кроме того,EmsgEvent
теперь отправляется для контента HLS/CMAF. - Исправлена ошибка, из-за которой данные проигрывателя отсутствовали во время
PLAYER_LOAD_COMPLETE
при переходе к новому сеансу мультимедиа. - Исправлена ошибка, из-за которой значок мультимедиа перекрывал номер клипа и обратный отсчет.
- Исправлена ошибка, из-за которой обратный отсчет первого клипа всегда отображал 0:00.
- Обновлен Shaka Player до версии 2.5.6.
Веб-приемник v2
- Добавлена новая возможность устройства
IS_DEVICE_REGISTERED
вdeviceCapabilities
. Если эта возможность установлена, устройство Cast регистрируется в консоли разработчика Cast для отладки. - Исправлена проблема остановки загрузки.
- Теперь для каждого неудавшегося элемента в очереди отправляются отдельные сообщения об ошибках носителя.
МПЛ
- Исправлена ошибка в прямых трансляциях, из-за которой звук продолжал воспроизводиться некоторое время после получения сообщения об остановке.
- Исправлена ошибка, из-за которой появлялись артефакты сжатия видео при изменении уровня качества.
- Исправлена ошибка, из-за которой потоки HLS с использованием сегментов *.m4s давали сбой.
5 декабря 2019 г.
Android Sender 18.0.0
- Добавлен
setMediaSessionEnabled
для разработчиков, позволяющий включать и отключать медиасеанс, созданный Cast SDK. - Изменён режим отображения уведомлений о медиафайлах во время трансляции. Если уведомления о медиафайлах включены, они будут отображаться всегда во время трансляции. Раньше они отображались только тогда, когда приложение работало в фоновом режиме.
- Изменены некоторые классы, связанные с медиа, для реализации интерфейса
Parcelable
.
11 ноября 2019 г.
iOS Sender v4.4.6
- Исправлена проблема, связанная с минимальной поддерживаемой версией iOS 9.
7 октября 2019 г.
Веб-приемник
- Раскрытые роли треков как часть метаданных треков.
- Обновлена версия Shaka Player до 2.5.5.
23 сентября 2019 г.
iOS Sender v4.4.5
- Улучшена поддержка обнаружения устройств Cast и управления сеансами.
- Добавлены новые медиа-команды в
GCKMediaStatus
. - Добавлено свойство
whenSkippable
вGCKAdBreakStatus
. - Исправления пользовательского интерфейса для рекламы и iOS 13.
11 сентября 2019 г.
Android Sender 17.1.0
- Добавлено поле
MediaError
в RemoteMediaClient.MediaChannelResult , которое можно использовать для доступа к подробному коду ошибки для невыполненных медиа-команд. - Методы
MediaStatus.COMMAND_SKIP_FORWARD
иMediaStatus.COMMAND_SKIP_BACKWARD
устарели. Вместо них приложениям следует использоватьMediaStatus.COMMAND_QUEUE_NEXT
иMediaStatus.COMMAND_QUEUE_PREVIOUS
. - Добавлена новая зависимость от
com.google.android.datatransport:transport-api:2.0.0
.
9 сентября 2019 г.
Веб-приемник
- Тип метаданных
TV_SHOW
теперь имеет предварительный просмотр «Воспроизведение следующего» в проигрывателе по умолчанию, если следующий элемент предварительно загружен. - Добавлен класс
ContentRating
в пространство именcast.framework.messages
. - Обновлено название аудиофайла пользовательского интерфейса по умолчанию, теперь
metadata.artist
имеет приоритет надmetadata.albumArtist
. - Добавлена поддержка отрицательных значений startTime для указания начального времени относительно конца содержимого или активного края.
- Обзор медиа:
- Панель просмотра медиафайлов теперь автоматически скрывается через 30 секунд бездействия пользователя.
- Добавлены кнопка «Воспроизведение/Пауза» и миниатюра элемента мультимедиа в правом верхнем углу наложения «Обзор медиа».
- Обновлено поведение списка «Обзор медиа». Теперь горизонтальная прокрутка сбрасывается в начальное левое положение каждый раз при установке содержимого «Обзор медиа».
- Исправления ошибок:
- Отложенное разрешение конца обещания
BasePlayer
, позволяющее запустить событие элемента мультимедиа. - Исправлена ошибка загрузки при предварительной загрузке рекламы.
- Водяной знак теперь отображается вместе с остальными метаданными.
- Интерфейс аудио по умолчанию в Chromecast учитывает стили
.progressBar
. - Устранено появление экрана IDLE перед ЗАГРУЗКОЙ и между воспроизведением последующих медиафайлов.
- Исправлена задержка поиска для содержимого Dash.
Веб-приемник v2
- Добавлен класс
ContentRating
в пространство именcast.receiver.media
. - Исправлена ошибка, из-за которой данные об ошибках распространялись некорректно, если в очереди было несколько элементов.
Библиотека медиаплеера
- В API добавлены атрибуты HLS #EXT-X-MEDIA .
- Исправления ошибок:
- Исправлена проблема с неудачными операциями SourceBuffer remove(), приводившими к сбою воспроизведения при переключении аудиодорожек.
- Исправлена проблема синтаксического анализа, когда был указан тип упакованного аудиоформата (например, *.ec3), но использовались сегменты на основе MPEG-4 (например, *.mp4, *.mp4a и т. д.).
- Исправлена проблема HLS, из-за которой внутриполосные субтитры CEA608 отображались с заметной задержкой.
- Исправлена ошибка, из-за которой не загружался контент HLS и Smooth без звука.
27 августа 2019 г.
Веб-отправитель
- Web Sender теперь использует новый синтаксис Custom Elements v1. Эта версия заменяет устаревшую версию v0.
- Исправлены измененные события для
breakTime
,breakClipTime
иliveSeekableRange
с использованием новых функцийgetEstimatedBreakTime
,getEstimatedBreakClipTime
иgetLiveSeekableRange
, добавленных в Chrome M77.
12 августа 2019 г.
iOS Sender v4.4.4
- Улучшенный опыт использования на iOS 13.
- Улучшена поддержка обнаружения устройств Cast.
30 июля 2019 г.
Веб-приемник
- Обновлена версия Shaka Player до 2.5.1.
- Исправлена ошибка, из-за которой наложение метаданных исчезало слишком быстро во время загрузки контента.
- Исправлена обработка отказа в перехватчике нагрузки для очистки состояния нагрузки.
- Обновлен
setBrowseContent
теперь допускает значение NULL. - Исправлена ошибка, из-за которой текущее время отображалось неверно при поиске во время рекламных пауз.
- Добавлена поддержка ignoreTtmlPositionInfo для игнорирования позиционирования подписей TTML.
- Улучшенная поддержка обработки ошибок загрузки:
- Избежано срабатывания нескольких событий
MediaFinishedEvent
. - Запущен обратный вызов ошибки медиа-менеджера для очистки проигрывателя при ошибке загрузки.
22 июля 2019 г.
iOS Sender v4.4.3
- Улучшена поддержка обработки ошибок загрузки путем предоставления error_reason.
- Выпущена версия SDK без гостевого режима.
17 июня 2019 г.
Android Sender 17.0.0
- В последней версии SDK библиотеки поддержки Android заменены на библиотеки Jetpack (AndroidX). Библиотеки не будут работать, если вы не внесёте следующие изменения в своё приложение:
- Обновите
com.android.tools.build:gradle
до версии 3.2.1 или более поздней. - Обновите
compileSdkVersion
до версии 28 или более поздней. - Обновите приложение для использования Jetpack (AndroidX). Следуйте инструкциям в разделе «Миграция на AndroidX» .
- Более подробную информацию см. в примечаниях к выпуску API Google для Android .
10 июня 2019 г.
Веб-приемник
- Реализована поддержка Media Browse — новой функции поиска контента на смарт-дисплеях.
- Добавлена локализация в пользовательский интерфейс по умолчанию для 9 новых локалей:
- датский
- Английский (Великобритания)
- Английский (Индия)
- Английский (Сингапур)
- Французский (Канада)
- итальянский
- норвежский
- Голландский
- шведский
- Удалены закругленные углы из обложек альбомов для удаленного интерфейса.
- Исправлены ошибки для Live и других областей.
iOS Sender v4.4.2
- Гостевой режим
- Добавлена поддержка параметра «Включить гостевой режим» в консоли разработчика Cast.
- Исправлена проблема управления сеансом гостевого режима.
- Исправления ошибок
- Исправлена проблема локализации, появившаяся в версии 4.4.1.
24 апреля 2019 г.
iOS Sender v4.4.1
- Реализована поддержка альфа-версии прямых трансляций. Подробности см. в руководстве разработчика .
- Добавлены новые структуры данных и атрибуты для статуса прямой трансляции.
- Добавлены новые ключи GCKMediaMetadata.
- Добавлены команды для потоковой передачи мультимедиа:
- [GCKRemoteMediaClient loadMediaWithLoadRequestData:]
- [GCKRemoteMediaClient seekWithOptions:]
- Улучшенный расширенный пользовательский интерфейс контроллера для поддержки прямых трансляций:
- Изменена компоновка и внешний вид расширенного контроллера.
- Исправления ошибок
- Исправлена нижняя часть GCKUICastContainerViewController на iPhone X.
- Исправлена проблема повторного подключения, когда ОС выполняет активную сетевую активность.
- Исправлен сбой при инициализации метки доступности с помощью GCKUICastButton.
23 апреля 2019 г.
Веб-приемник
- Реализована поддержка альфа-версии прямых трансляций. Подробности см. в руководстве разработчика .
- Обновленный пользовательский интерфейс для поддержки прямых трансляций, включая индикатор прямого эфира.
- Добавлено поле mediaCategory к статусу медиафайла, чтобы указать, является ли медиафайл видео, аудио или фотографией.
- Исправления ошибок
- Исправлено использование возвращаемого значения playbackConfig.segmentHandler.
Библиотека медиаплеера
- Добавлена поддержка кодека HEVC для HLS в MPL.
Веб-отправитель
- Реализована поддержка альфа-версии прямых трансляций. Подробности см. в руководстве разработчика .
- Добавлена поддержка рекламы. Подробности см. в руководстве разработчика .
- Добавлен RemotePlayerController.skipAd() для пропускаемой рекламы.
Android Sender 16.2.0
- Реализована поддержка альфа-версии прямых трансляций. Подробности см. в руководстве разработчика .
- Добавлены новые структуры данных и атрибуты для статуса прямой трансляции.
- Добавлены новые ключи MediaMetadata.
- Добавлены команды для потоковой передачи мультимедиа:
- RemoteMediaClient#load(MediaLoadRequestData)
- RemoteMediaClient#seek(MediaSeekOptions)
- Улучшенный расширенный пользовательский интерфейс контроллера для поддержки прямых трансляций:
- Добавлена поддержка прямой трансляции в виджеты расширенного пользовательского интерфейса контроллера.
- Изменена компоновка и внешний вид расширенного контроллера.
- Представлен виджет CastSeekBar, совместимый с прямой трансляцией, который заменит родной SeekBar.
- Изменён класс ExpandedControllerActivity для использования CastSeekBar вместо SeekBar для совместимости с прямой трансляцией. Метод ExpandedControllerActivity#getSeekBar() теперь устарел и будет возвращать фиктивный экземпляр.
- Добавлено новое состояние проигрывателя MediaStatus#PLAYER_STATE_LOADING:
- Когда веб-приемник начинает загрузку мультимедиа, свойство playerState в MediaStatus устанавливается в значение MediaStatus#PLAYER_STATE_LOADING до тех пор, пока он не начнет буферизацию или воспроизведение контента.
- В большинстве случаев приложение обрабатывает это состояние так же, как оно обрабатывало MediaStatus#PLAYER_STATE_BUFFERING.
- Состояния буферизации и загрузки не всегда взаимозаменяемы.
- Во время загрузки веб-приемник еще не обработал всю медиа-информацию, поэтому единственная доступная медиа-информация — это та, которая присутствовала в запросе загрузки мультимедиа отправителя.
- Во время буферизации медиаинформация может содержать дополнительную информацию, разрешенную получателем.
- Модифицированные MediaMetadata для поддержки аудиокниг:
- Добавлены новые ключи MediaMetadata.
- Добавлен новый тип метаданных для аудиокниг.
25 марта 2019 г.
Веб-приемник
- Использование
document.registerElement()
заменено наcustomElements.define()
чтобы сделать SDK веб-приемника совместимым с более новыми версиями платформы Cast. -
MediaStatus.breakStatus
теперь возвращает пустой объект, если для контента присутствуют рекламные паузы, но в данный момент рекламная пауза не воспроизводится. - Исправлена проблема с анализом встроенных тегов VAST.
Библиотека медиаплеера
- Исправлена проблема с задержкой ~20 секунд при переключении звуковых дорожек.
13 февраля 2019 г.
Веб-приемник
- Исправлено внезапное появление кнопки «Пропустить рекламу» в сенсорном интерфейсе.
- Исправлено отображение информации о перерывах на пульте дистанционного управления.
Библиотека медиаплеера
- Исправлена проблема с обработкой LicenseUrl для предварительно загруженных носителей.
5 февраля 2019 г.
iOS отправитель v4.3.5
- Добавлена поддержка метаданных аудиокниг. Дополнительные сведения см. в GCKMediaMetadata.h .
- Установите правильное значение для static_framework в подспеке.
- Разделить атрибуты стиля для панели навигации и панели инструментов в контроллере подключения .
- Исправления ошибок
- Исправлен сбой при некоторых неудачных инициализациях базы данных.
- Исправлена проблема с полосой громкости веб-приемника во время входящих телефонных звонков или сигналов будильника.
- Исправлен избыточный вызов некоторых методов делегата во время обнаружения.
- Исправлена проблема, из-за которой список очереди мультимедиа не очищался после завершения воспроизведения последнего элемента в очереди.
- Запрещен показ недоступных устройств поблизости, когда сеть недоступна.
- Отключен ползунок громкости на контроллере представления устройства для устройств, на которых громкость нельзя контролировать.