Google Cast SDK 版本说明

对于发布的每个新版 Google Cast,下文都会介绍其变更,并更新 API 参考文档。如需了解设计核对清单的变更,请参阅其changelog。

2026 年 10 月 19 日

Android 发送端 23.0.0

  • 更新了 play-services-cast-framework,现在依赖于 androidx.mediarouter:mediarouter:1.9.0-beta01。
  • 废弃了 PrecacheManager 和 CastContext#getPrecacheManager()。
  • MediaMetadata 现在会将所有可用的元数据键导出到接收器,而不是按照 mediaType 将导出的键限制为一部分。

2026 年 7 月 27 日

iOS 发送端 4.8.6

此版本使部分 Cast 设备能够使用网络唤醒功能,将受支持的电视从休眠模式唤醒

  • 支持的最低 iOS 版本已提高到 iOS16。
  • 请注意,这将是发布到 CocoaPods 的最后一次更新。后续更新将通过 Swift Package Manager 提供,并继续支持直接下载。

2026 年 7 月 16 日

Web 接收器 3.0.0156

由于各种回归问题,之前的尝试 (3.0.0147 - 3.0.0155) 已回滚(见下文)

预览版:2026 年 7 月 16 日

开始发布:2026 年 8 月 4 日

发布完成时间:2026 年 9 月 9 日

主要变更:

相对于原始版本的修复:

  • 修复了第 2 版 SDK 无法在第 1 代 Chromecast 上加载的问题。
  • 修复了播放器在广告插播时间点后卡在缓冲状态的问题。
  • 修复了回收播放器实例时 Shaka Player ABR 失败的问题。
  • 修复了多路复用 TS 内容播放卡顿的问题。
  • 将“audio/x-mpegurl”和“audio/mpegurl”MIME 类型映射为 Shaka Player 的 HLS,从而修复使用此 MIME 类型的应用的错误代码 4000。

如需查看变更的完整列表,请参阅原始版本说明。

2026 年 5 月 20 日

Web 接收器 3.0.0151

修复:

  • 修复了播放器在广告插播时间点后卡在缓冲状态的问题。
  • 将“audio/x-mpegurl”MIME 类型映射为 Shaka Player 的 HLS,从而修复使用此 MIME 类型的应用的错误代码 4000。

2026 年 4 月 7 日

Android 发送端 22.3.1

  • 修复了 22.3.0 中的一个问题,该问题会导致 Robolectric 测试在调用受影响的构造函数时因验证错误而失败。

2026 年 4 月 6 日

Web 接收器 3.0.0150

由于缓冲指标出现回归,初始发布版本 (3.0.0147) 已于 2025 年 11 月 18 日回滚

开始发布日期:2026 年 4 月 30 日

发布完成时间:2026 年 5 月 18 日

主要变更:

其他变更:

  • 修复了字幕轨从一个队列项持续到下一个队列项的问题
  • 在 CAF 响应处理程序中提供完整的 Shaka 请求对象
  • 停止为较新的 Shaka 版本设置默认 availabilityWindowOverride
  • 将 playerErrorCode 和 severity 字段添加到 ErrorData
  • 修复了由意外运行时错误触发的加载时未解析的 promise
  • 修复了某些 HLS 负载均衡场景中的音轨问题
  • 修复了杜比视界编解码器支持检测
  • 修复了从 CAF 发送到 Shaka Player 的默认 DRM 稳健性设置
  • 修复了 preloadTime 未定义时的队列行为
  • 修复了广告失败时播放器重置的问题
  • 修复了播放期间 Shaka Player 实例的缓存问题
  • 通过从 CAF 传递 MIME 类型,避免在 Shaka Player 中发出 HEAD 请求
  • 修复了较新 Shaka 版本中的轨道更改事件与 CAF 中的等效事件之间的不良交互
  • 公开 getRawSeekableRange(),以便与 getRawCurrentTimeSec() 等效。
  • 修复了 Shaka Player 的默认 DRM 稳健性设置:Android 设备为 Widevine L1,其他所有设备为系统默认设置
  • 在 cast.framework.events.ErrorEvent 中添加 triggeredByEventType
  • 修复了 DAI 内容缺少广告界面的问题
  • 修复 Shaka Player 带宽估测 bug
  • 将 shakaRequestContext 添加到 cast.framework.NetworkRequestInfo
  • 将 EXT-X-SESSION-DATA 从 HLS 向上冒泡到新的 cast.framework.events.SessionDataEvent

2026 年 2 月 11 日

Android Sender 22.3.0

2025 年 10 月 20 日

Android 发送端 22.2.0

2025 年 10 月 7 日

iOS 发送端 4.8.4

  • 添加了界面,以便用户在发送端阅读并批准《Cast 服务条款和隐私权政策》。
  • iOS SDK 支持的最低版本现在为 iOS 15。
  • 自 4.3.1 版起,Cocoapods 默认发布静态库。从 4.8.4 版开始,此静态库包含 Protobuf 库。我们建议您使用静态库,以避免 Protobuf 出现潜在的版本兼容性问题。不过,您也可以下载动态库。
  • 请注意,GCKErrorCode 为 GCKErrorCodeCancelled 的投射失败和断开连接属于预期行为。请确保您的应用不会在因 GCKErrorCodeCancelled 导致投屏失败或断开连接时自动重试投屏,因为如果用户拒绝《服务条款》,这可能会导致意外行为。

2025 年 5 月 12 日

Android 发送端 22.1.0

2024 年 10 月 28 日

Android 发送端 22.0.0 和 Android TV 接收端 21.1.1

  • 修复了在 Protobuf Java Lite 库中发现的潜在拒绝服务攻击漏洞。
  • 删除了 MediaNotificationService。应用不应直接使用该类。
  • 修复了以下问题:在搭载 Android R 或更低版本的设备上,尝试在 Google Cast 通知中显示过小的图片可能会导致系统界面崩溃。

2024 年 9 月 4 日 2024 年 11 月 1 日

Web 接收器 3.0.0133 3.0.0135 3.0.0137

  • CAF 使用的默认 Shaka Player 版本已从 4.3.4 更新为 4.9.2。如需查看完整的变更列表,请参阅 Shaka Player changelog。
  • 为 Shaka 播放器启用了内容预加载功能。这样,您就可以在媒体内容或广告插播时间点之间无缝切换。
  • 修复了 Shaka 切换编解码器导致的错误。
  • 为 Shaka 错误添加了新字段 ErrorSeverity。如果严重级别为 RECOVERABLE,则不应停止播放。
  • 修复了并发加载请求的内容加载失败问题。
  • 在内部,CAF 现在使用 shaka.Player#attach 附加媒体元素,而不是将媒体元素传递给 shaka.Player 构造函数(在 Shaka API 中已弃用)。
  • 向 cast.framework.events.Id3Event 添加了 frameType 和 frameDescription 字段。使用 Shaka Player 播放时,系统会填充这些字段。
  • 添加了 REQUEST_GET_STATUS 和 REQUEST_PRELOAD 事件。这些事件可以使用 PlayerManager#addEventListener 进行监听。
  • 为具有不正确 requestId 的加载请求添加了错误响应,而不是静默失败。
  • 修复了 Shaka Player jumpLargeGaps 配置的警告日志,该配置在 Shaka v4 中已弃用。
  • 开始在 LOADING 状态的 MediaStatus 消息中填充 requestId。
  • 加载新内容时,回收 Shaka 播放器实例。
  • 不再支持已废弃的 QUEUE_SHUFFLE 媒体命令。请改用 QUEUE_UPDATE。
  • 修复了对 VAST 广告连播的支持,其中每个 <Ad> 代码都有一个 sequence 属性和一个嵌套的 <Wrapper> 代码。
  • 修复了不含值的 crossorigin 属性从 <cast-media-player> 传播到嵌套 <video> 元素的问题。
  • 在 MPL 中公开带内音频语言。

2024 年 8 月 22 日

iOS 发送端 4.8.3

  • 修复了以下 bug:点按“投放”按钮后,系统不会打开设备选择器。
  • 修复了与 AVRouting 相关、影响搭载 iOS 17 及更高版本的设备的崩溃问题。

2024 年 4 月 18 日

iOS 发送端 4.8.1

  • Cast SDK 支持的最低版本现在是 iOS 14。
  • 软件包中包含隐私清单以及已签名的 xcframework。
  • 访客模式已被弃用并移除。从该版本开始,将提供单一版本的 SDK 供集成。
  • 修复了有时在投屏时播放 Shorts 广告会导致崩溃的问题。

2023 年 12 月 11 日

Web 接收器 3.0.0122

  • 添加了对 VAST 广告连播和候补广告集的支持。
  • 更新了 Google TV 设备的 Cast Player 媒体控件界面。
  • 向 Track 对象添加了新的 audioTrackInfo 字段。
  • 添加了 cast.framework.system.Message,表示从发件人处收到或发送给发件人的消息。
  • 更改了跳转广告插播时间点逻辑。现在,只有当 BreakManager#setBreakSeekInterceptor 返回的广告插播时间点超过 1 个时,Web 接收器才会创建合成 seek-{timestamp} 广告插播时间点,否则跳转广告插播时间点仍等于时间轴上的原始广告插播时间点。
  • 添加了 CastReceiverOptions#shakaVariant 选项,用于在 CAF 中加载 Shaka Player 的调试版本。
  • 修复了使用 AES-128 加密时,Shaka for HLS 无法识别 PlaybackConfig#licenseRequestHandler 和 PlaybackConfig#licenseResponseHandler 的问题。
  • 修复了使用 Shaka Player 时不会触发 ID3Event 的问题。
  • 修复了使用前贴片广告时旁加载文本轨道的问题。
  • 修复了使用 UITextDisplayer 时的文本渲染问题。
  • 修复了 VAST、MIME 类型和内容保护系统名称的各种大小写敏感问题。
  • 修复了与强制字幕相关的各种问题。
  • 修复了为 BREAK_CLIP_ENDED 事件填充 EndedReason 代码的问题。

2023 年 12 月 4 日

Android 发送端 21.4.0 和 Android TV 接收端 21.0.1

2023 年 7 月 20 日

iOS 发送端 4.8.0

  • iOS SDK 支持的最低版本现在为 iOS 13。
  • 第一个稳定的 XCFramework 版本。
  • 可通过 Cocoapods 获取 XCFramework。
  • 恢复了在媒体播放期间使用实体音量按钮控制音量的功能。
  • 现在,在导航栏中使用时,投放按钮会遵循色调颜色。
  • 现在可以使用 GCKUIStyle API 自定义导航标题颜色。
  • 修复了媒体曲目字幕列表视图中的透明导航栏问题。
  • 修复了 XCFramework Beta 版中的崩溃问题。
  • 添加了用于将 UIControl 与快进或快退操作绑定的 API。
  • 为 Pixel Tablet 添加了投放支持。

2023 年 7 月 6 日

Web 接收器 3.0.0111

  • 添加了对使用 BreakManager、 addBreak(breakData, breakClips, broadCastMediaStatus) 和 removeBreakById(breakId) 进行动态广告插播的支持。
  • 向 Smooth 清单添加了 Subtype 字符串解析。
  • 在 manifestRequestHandler、 segmentRequestHandler 和 licenseRequestHandler 中添加了对 Shaka Player 异步请求的支持。
  • 添加了对强制字幕的支持。
  • 将 CAF 的默认 Shaka 版本提升到了 v4.3.4。
  • 阐明了 setActiveByIds 参数说明。
  • 更正了 CAF 选择不同音轨的方式。
  • 更正了 Shaka 请求过滤器的请求正文类型转换。
  • 在 BreakManager getCreativeInfoByClipId(breakClipId) 中添加了查询与 BreakClip 相关的 CreativeInformation 的功能。
  • 修复了在 DPad 控制的设备上加载媒体元素期间媒体元数据缺失的问题。
  • 向 BreakClip 添加了属性 hlsSegmentFormat 和 hlsVideoSegmentFormat。
  • 修复了使用 MPL 进行区分大小写的 MIME 类型比较的问题。
  • 修复了使用 Shaka Player 加载时直播 HLS(基于 TS)无限缓冲的问题。
  • 修复了 IS_AT_LIVE_EDGE_CHANGED 事件的 PlayerDataBinder 行为。
  • 修复了在使用 MPL 的 TS 片段中提供的数据不足时出现的无限循环问题。
  • 添加了 error.stack,用于处理 Shaka Player 错误。
  • 已改为使用 Shaka Player 轨道对象中的 audioMimeType 字段(而非 audioCodec)来填充变体轨道的 cast.framework.messages.Track.trackContentType 字段。
  • 为 Shaka Player 轨道向 cast.framework.messages.Track.name 添加了 shaka.extern.track.label。
  • 扩展了 cast.framework.stats.Stats 对象,以考虑 shaka.extern.Stats 中的现有字段。
  • 修复了包含展开的嵌入式广告插播时间点的内容的媒体时间计算问题。

2023 年 3 月 28 日

Android 发送端 21.3.0 和 Android TV 接收端 21.0.0

2022 年 10 月 17 日

Web 接收器 3.0.0105

2022 年 10 月 10 日

Android 发送端 21.2.0

2022 年 8 月 8 日

Android 发送器 21.1.0 和 Android TV 接收器 20.0.0

2022 年 3 月 31 日

Web 接收器 3.0.0103、MPL 播放器 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。
  • cast.framework.events.EventType.BREAK_CLIP_ENDED 事件数据的 currentMediaTime 值现在表示事件发生时最新广告插播片段的当前时间。
  • 添加了 cast.framework.PlayerManager#getRawCurrentTimeSec 方法,用于返回媒体元素的媒体时间。
  • 添加了 cast.framework.NetworkRequestInfo#timeoutInterval,用于指定播放器请求的 HTTP 请求超时。
  • 修复了 MPL 在为解复用 A/V 流解码 CEA 608/708 字幕时存在的 bug。
  • 修复了 MPL WebVTT 时间戳解析逻辑,以接受超过 2 位数的小时值。

2021 年 12 月 9 日

Android 发送端 21.0.0

  • 通过将 null 安全违规行为视为错误,为 Kotlin 添加了更好的可为 null 性支持。Java 开发者不会受到任何影响。如果 Kotlin 开发者现有的代码不具备 null 安全性,他们可能会看到新的构建失败。

2021 年 11 月 19 日

iOS 发送端 4.7.0

2021 年 11 月 16 日

Android Sender 20.1.0

  • 注意:以 Android 12 为目标平台的应用必须更新到 Android Sender 20.1.0,以防止运行时崩溃。
  • 队列改进
    • 向 MediaQueue 添加了新的 itemsReorderedAtIndexes 回调,该回调会在队列重新排序后调用。
    • 添加了对队列命令序列化的支持。
  • 将 RemoteMediaClient#queueSetRepeatMode 中的 customData 参数设为可为 null。
  • 远程显示功能已被弃用。
  • minSdkVersion 已从 14 升级到 16。

2021 年 10 月 26 日

Web 接收器 3.0.0102

  • 升级到 Shaka Player v3.0.13(这反过来又修复了许多之前报告的问题)。
  • 新增了对智能显示屏和 Chromecast 上的辅助图片的支持。
  • 修复了以下问题:由于用于检测重复曲目的逻辑存在错误,导致缓冲流无法显示字幕。
  • 修复了以下问题:当 LOAD_BY_ENTITY 返回错误时,接收器的错误回调未触发。
  • 添加了对传输流的高效 AAC (HE-AAC) 音频编解码器的支持。
  • 修复了 PlayerManager.getStats() 未返回正确的高度和宽度值的 bug。
  • 从 MediaStatus 消息中移除了 VAST 和 VMAP 信息,以避免可能导致发送器与接收器断开连接的溢出。
  • 修复了跳过广告时未向发送者提供 endedReason 的问题。
  • 修复了广告插播时间点在播放前从加载队列中移除的问题。
  • 添加了新的 cast.framework.message.QueueChange#reorderItemIds 字段,其中包含受 QUEUE_CHANGE 操作影响的队列项列表。
  • 减少了 MPL 中 HLS 直播流在切换音轨时的缓冲,因此音频和视频现在可以保持同步。
  • 修复了 MPL 中具有嵌入式 CEA608/CEA708 字幕的 HLS 数据流的解析问题。
  • 当媒体暂停超过 5 秒时,Chromecast with Google TV 的媒体控件将被隐藏。

2021 年 5 月 26 日

iOS 发送端 4.6.1

  • 修复了以下问题:对于允许后台执行的应用,后台投放会话会被暂停。

2021 年 5 月 17 日

iOS 发送端 4.6.0

  • 更改了“投放”按钮的默认行为,使其在连接到 Wi-Fi 时始终显示。
  • 添加了一个新的帮助对话框,当用户点按“投放”按钮但未找到任何设备时,系统会显示该对话框。
  • 已废弃 GCKUICastButton::triggersDefaultCastDialog API。
  • 为通过新 API GCKUICastButtonDelegate 实现自定义界面的应用添加了更统一的对话框自定义支持。
  • 为 iOS 13 及更高版本添加了深色模式支持。
  • 向 GCKUIStyleAttributes 添加了广告标记自定义功能。
  • 添加了对媒体的 hlsSegmentFormat 和 hlsVideoSegmentFormat 支持。
  • 修复了多个问题并提升了性能。

2021 年 4 月 29 日

Web 接收器 3.0.0096

2021 年 4 月 20 日

Android 发送端 20.0.0 和 Android TV 接收端 18.0.0

2021 年 4 月 5 日

Web 接收器 3.0.0095

  • 将 Shaka Player 升级到了 3.0.10。
  • 现在,当支持 STREAM_TRANSFER 媒体命令时,系统会默认显示“投放”按钮。
  • 在媒体浏览界面的底部添加了建议栏。建议栏包含互动式条状标签,选中后可以播放媒体文件或滚动浏览可用的媒体文件。每个条状标签还会映射到可用的 Google 助理命令。目前,仅当系统语言设置为英语或日语时,才支持建议内容信息条。
  • 修复了 Chromecast with Google TV 中的一个 bug,该 bug 会导致在将照片内容投射到默认接收器时显示媒体控件叠加层。
  • 添加了对 TRACKS_CHANGED 事件的支持。

2020 年 12 月 18 日

Web 接收器 3.0.0085

2020 年 12 月 3 日

iOS 发送端 4.5.3

  • 修复了 GCKCredentialsData 的加载时错误“arm64 架构的未定义符号”。
  • 修复了 GCKCredentialsData 上因可为 null 性冲突而导致的编译器错误。
  • 如果 Info.plist 中缺少所需的 Bonjour 服务条目,现在会记录警告消息。

2020 年 11 月 4 日

iOS 发送端 4.5.2

  • 在 CocoaPods 中将 Protobuf 库的最低版本更新为 3.13。使用旧版 Protobuf 会导致 SDK 崩溃。
  • 此版本仅适用于 CocoaPods,并使用与 v4.5.1 相同的二进制文件。

2020 年 10 月 13 日

iOS 发送端 4.5.1

  • 修复了以下问题:具有自定义设备选择器的 GCKUICastButton 未更新以反映正确的投放状态。
  • 修复了“返回类型上的可为 null 性说明符冲突”警告。

2020 年 9 月 14 日

Web 接收器

  • 将 Shaka Player 升级到了 2.5.16。

iOS 发送端 4.5.0

  • 添加了对 iOS 14 中 Cast 设备发现更改的支持,首次投放时需要获得用户的明确许可。如需了解详情,请参阅在 iOS 14 中首次投放。
  • 将支持的最低 SDK 版本更新为 iOS 10。

2020 年 9 月 8 日

Web 发送端

  • 引入了 Cast Connect,使 Chrome 应用能够投射到 Android TV 应用。如需了解详情,请参阅 Android TV 接收器文档。

2020 年 8 月 31 日

Web 接收器

  • 在 HLS 中添加了对 #EXT-X-DATERANGE 的支持,在 DASH 中添加了对 EventStream 的支持。

2020 年 8 月 3 日

iOS 发送端 4.4.8

  • 引入了 Cast Connect,使 iOS 应用能够投射到 Android TV 应用。如需了解详情,请参阅 Android TV 接收器文档。

2020 年 7 月 29 日

Android 发送端 19.0.0 和 Android TV 接收端 17.0.0

2020 年 7 月 13 日

Web 接收器

  • 改进了默认界面的媒体类别检测(视频与音频)。
  • 添加了对 Shaka Player 实时绝对时间的支持。
  • 修复了 Nest Hub Max 设备上的音频故障问题。
  • 将 Shaka Player 升级到 2.5.12。

2020 年 5 月 4 日

Web 接收器

  • 现在可以配置 Google 助理命令的超时值。
  • 现在,错误事件中会显示详细的 MPL 错误代码。
  • 现在,您可以使用 enforceSupportedCommands 标志强制执行受支持的媒体命令。
  • 修复了在播放中断期间报告的受支持命令。
  • 修复了 Google 助理随机播放加载请求存在的问题。
  • 修复了 getStats 值中的 bug。

2020 年 3 月 12 日

Web 接收器

  • 向 deviceCapabilities 添加了新的设备功能 IS_CBCS_SUPPORTED。
  • 已将 Shaka Player 升级到 2.5.8。

2020 年 2 月 27 日

iOS 发送端 v4.4.7

  • 修复了不使用 SDK 中任何界面组件的应用的实体音量按钮。
  • 修复了重复按前进或后退按钮时展开的控制器中的 currentTime 标签问题。
  • 当应用移至后台后,GCKMediaQueue 中的媒体文件会保留。
  • 界面自定义更新:
    • 迷你控制器的进度条现在可以自定义。
    • 现在,您可以自定义“投放”对话框的导航栏和工具栏的背景颜色。
    • 修复了 iPhone X 特有的界面问题。
  • 修复了导致卡顿和崩溃的一些问题。

2020 年 2 月 24 日

Android 发送端 18.1.0

2020 年 1 月 22 日

Web 接收器

  • 修复了更改支持的命令时会广播多个媒体状态的问题。

Receiver v2

  • 改进了 VAST 广告的比特率选择。

MPL

2020 年 1 月 7 日

Web 接收器

  • 在 cast.framework.events.EmsgEvent 中添加了对 ID3 定时元数据的支持。此外,现在还会针对 HLS/CMAF 内容分派 EmsgEvent。
  • 修复了在过渡到新媒体会话期间,PLAYER_LOAD_COMPLETE 期间缺少播放器数据的问题。
  • 修复了媒体图标与插播广告片段编号和倒计时重叠的问题。
  • 修复了第一个广告插播片段的倒计时始终显示 0:00 的问题。
  • 将 Shaka Player 升级到了 2.5.6。

Web 接收器 v2

  • 向 deviceCapabilities 添加了新的设备功能 IS_DEVICE_REGISTERED。如果设置了此属性,则表示 Cast 设备已在 Cast 开发者控制台中注册,可用于调试。
  • 修复了加载停滞问题。
  • 现在,系统会针对队列中的每个失败项发送单独的媒体出错提示。

MPL

  • 修复了直播中收到停止消息后音频仍会继续播放一段时间的问题。
  • 修复了在画质级别更改期间会显示视频压缩伪影的问题。
  • 修复了使用 *.m4s 片段的 HLS 串流失败的问题。

2019 年 12 月 5 日

Android 发送端 18.0.0

  • 添加了 setMediaSessionEnabled,以便开发者启用和停用由 Cast SDK 创建的媒体会话。
  • 更改了在投放会话期间媒体通知的显示方式。如果媒体通知处于启用状态,则在投放会话期间始终会显示。 以前,只有当应用在后台运行时,系统才会显示此通知。
  • 更改了一些与媒体相关的类,以实现 Parcelable 接口。

2019 年 11 月 11 日

iOS 发送端 v4.4.6

  • 修复了与支持的最低 iOS 版本 (iOS 9) 相关的问题。

2019 年 10 月 7 日

Web 接收器

  • 将轨道角色作为轨道元数据的一部分公开。
  • 将 Shaka Player 版本升级到了 2.5.5。

2019 年 9 月 23 日

iOS 发送端 v4.4.5

  • 改进了对 Cast 设备发现和会话管理的支持。
  • 向 GCKMediaStatus 添加了新的媒体命令。
  • 向 GCKAdBreakStatus 添加了 whenSkippable 属性。
  • 针对广告和 iOS 13 进行了界面修复。

2019 年 9 月 11 日

Android Sender 17.1.0

2019 年 9 月 9 日

Web 接收器

  • 如果下一个内容已预加载,TV_SHOW 元数据类型现在会在默认播放器中显示“接下来播放”预览。
  • 向 cast.framework.messages 命名空间添加了 ContentRating 类。
  • 更新了默认界面音频标题,使 metadata.artist 优先于 metadata.albumArtist。
  • 添加了对负 startTime 值的支持,以指示相对于内容结束时间或直播边缘的开始时间。
  • 媒体浏览:
    • 现在,如果用户在 30 秒内没有任何操作,媒体浏览抽屉式导航栏会自动隐藏。
    • 在媒体浏览叠加层的右上角添加了“播放/暂停”按钮和媒体项缩略图。
    • 更新了媒体浏览列表行为。现在,每次设置媒体浏览内容时,水平滚动都会重置为初始最左侧位置。
  • 问题修复:
    • 延迟解析 BasePlayer 结束 promise,以便触发媒体元素事件。
    • 已处理广告预加载的加载错误。
    • 水印现在会与其他元数据一起显示。
    • Chromecast 上的默认音频界面遵循 .progressBar 样式。
    • 消除了在加载之前以及后续媒体文件播放之间出现闲置屏幕的情况。
    • 修复了 Dash 内容的跳转卡顿问题。

Web 接收器 v2

  • 向 cast.receiver.media 命名空间添加了 ContentRating 类。
  • 修复了队列中有多个项时错误数据传播不正确的问题。

媒体播放器库

  • 向 API 添加了 HLS #EXT-X-MEDIA 属性。
  • 问题修复:
    • 修复了 SourceBuffer remove() 操作失败导致音轨切换时播放崩溃的问题。
    • 修复了以下问题:在指定了打包音频格式类型(例如 *.ec3)但使用基于 MPEG-4 的片段(例如 *.mp4、*.mp4a 等)时,会出现解析问题。
    • 修复了 HLS 问题,即带内 CEA608 字幕显示时存在明显延迟。
    • 修复了无法加载不含音频的 HLS 和 Smooth 内容的问题。

2019 年 8 月 27 日

Web 发送端

  • Web 发送器现在使用新的自定义元素 v1 语法。此版本取代了已弃用的 v0。
  • 使用 Chrome M77 中新增的 getEstimatedBreakTime、getEstimatedBreakClipTime 和 getLiveSeekableRange 函数,修复了 breakTime、breakClipTime 和 liveSeekableRange 的更改事件。

2019 年 8 月 12 日

iOS 发送端 v4.4.4

  • 改进了 iOS 13 上的体验。
  • 改进了对 Cast 设备发现功能的支持。

2019 年 7 月 30 日

Web 接收器

  • 将 Shaka Player 版本升级到了 2.5.1。
  • 修复了内容加载期间元数据叠加层消失过快的问题。
  • 修复了加载拦截器中的拒绝处理,以清除加载状态。
  • 将 setBrowseContent 更新为可为 null。
  • 修复了在广告插播时间点上跳转时报告的当前时间不正确的问题。
  • 添加了对 ignoreTtmlPositionInfo 的支持,以忽略 TTML 字幕定位。
  • 改进了对加载错误的处理:
    • 避免了触发多个 MediaFinishedEvent。
    • 触发了媒体管理器错误回调,以便在加载错误时清除播放器。

2019 年 7 月 22 日

iOS 发送端 v4.4.3

  • 通过提供 error_reason,改进了对加载错误的处理。
  • 发布了不含访客模式的 SDK 版本。

2019 年 6 月 17 日

Android 发送端 17.0.0

  • 最新 SDK 从 Android 支持库切换到了 Jetpack (AndroidX) 库。除非您在应用中进行以下更改,否则库将无法运行:
    • 将 com.android.tools.build:gradle 升级到 3.2.1 或更高版本。
    • 将 compileSdkVersion 升级到 28 或更高版本。
    • 更新您的应用,以使用 Jetpack (AndroidX)。按照迁移到 AndroidX 中的说明操作。
  • 如需了解详情,请参阅 Google API for Android 版本说明。

2019 年 6 月 10 日

Web 接收器

  • 引入了对媒体浏览的支持,这是一项用于在智能显示屏上发现内容的新功能。
  • 在默认界面中添加了 9 个新语言区域的本地化内容:
    • 丹麦语
    • 英语(英国)
    • 英语(印度)
    • 英语(新加坡)
    • 法语(加拿大)
    • 意大利语
    • 挪威语
    • 荷兰语
    • 瑞典语
  • 移除了远程界面中专辑封面的圆角。
  • 修复了直播和其他方面的问题。

iOS 发送端 v4.4.2

  • 访客模式
    • 添加了对 Cast 开发者控制台中的“启用访客模式”选项的支持。
    • 修复了访客模式会话管理问题。
  • bug 修复
    • 修复了 v4.4.1 中引入的本地化问题。

2019 年 4 月 24 日

iOS 发送端 v4.4.1

  • 引入了对直播的 Alpha 版支持。如需了解详情,请参阅开发者指南。
    • 添加了新的数据结构和属性,用于表示直播状态。
    • 添加了新的 GCKMediaMetadata 键。
    • 添加了直播媒体命令:
      • [GCKRemoteMediaClient loadMediaWithLoadRequestData:]
      • [GCKRemoteMediaClient seekWithOptions:]
    • 改进了展开式控制器界面,以支持直播:
      • 更改了展开式控制器的布局和外观。
  • bug 修复
    • 修复了 iPhone X 上 GCKUICastContainerViewController 的底部问题。
    • 修复了操作系统执行大量网络活动时的重新连接问题。
    • 修复了使用 GCKUICastButton 初始化无障碍标签时发生的崩溃问题。

2019 年 4 月 23 日

Web 接收器

  • 引入了对直播的 Alpha 版支持。如需了解详情,请参阅开发者指南。
    • 更新了界面,以支持直播(包括直播指示器)。
  • 向媒体状态添加了 mediaCategory 字段,以指明媒体是视频、音频还是照片。
  • bug 修复
    • 修复了 playbackConfig.segmentHandler 返回值的使用问题。

媒体播放器库

  • 在 MPL 中为 HLS 添加了 HEVC 编解码器支持。

Web 发送端

  • 引入了对直播的 Alpha 版支持。如需了解详情,请参阅开发者指南。
  • 引入了对广告的支持。如需了解详情,请参阅开发者指南。
    • 添加了 RemotePlayerController.skipAd(),用于可跳过的广告。

Android Sender 16.2.0

  • 引入了对直播的 Alpha 版支持。如需了解详情,请参阅开发者指南。
    • 添加了新的数据结构和属性,用于表示直播状态。
    • 添加了新的 MediaMetadata 键。
    • 添加了直播媒体命令:
      • RemoteMediaClient#load(MediaLoadRequestData)
      • RemoteMediaClient#seek(MediaSeekOptions)
    • 改进了展开式控制器界面,以支持直播:
      • 为展开式控制器界面微件添加了直播支持。
      • 更改了展开式控制器的布局和外观。
      • 引入了与直播兼容的 CastSeekBar widget,以取代原生 SeekBar。
      • 修改了 ExpandedControllerActivity,以使用 CastSeekBar 而非 SeekBar,从而实现直播兼容性。 ExpandedControllerActivity#getSeekBar() 现已弃用,并将返回一个虚拟实例。
  • 添加了新的 MediaStatus#PLAYER_STATE_LOADING 播放器状态:
    • 当 Web 接收器开始加载媒体时,MediaStatus 中的 playerState 属性会设置为 MediaStatus#PLAYER_STATE_LOADING,直到它开始缓冲或播放内容。
    • 在大多数情况下,应用处理此状态的方式与处理 MediaStatus#PLAYER_STATE_BUFFERING 的方式相同。
    • 缓冲状态和加载状态并不总是可以互换。
    • 在加载期间,Web 接收器尚未解析所有媒体信息,因此唯一可用的媒体信息是发送器的加载媒体请求中存在的信息。
    • 在缓冲期间,媒体信息可能包含由接收器解析的其他信息。
  • 修改了 MediaMetadata 以支持有声读物:
    • 添加了新的 MediaMetadata 键。
    • 为有声读物添加了新的元数据类型。

2019 年 3 月 25 日

Web 接收器

  • 将 document.registerElement() 替换为 customElements.define(),以使 Web 接收器 SDK 与较新版本的 Cast 平台兼容。
  • 现在,如果内容有广告插播时间点,但当前未播放广告插播时间点,MediaStatus.breakStatus 会返回一个空对象。
  • 修复了内嵌 VAST 代码解析问题。

媒体播放器库

  • 修复了切换音轨时延迟约 20 秒的问题。

2019 年 2 月 13 日

Web 接收器

  • 修复了触控界面中“跳过广告”按钮突然出现的问题。
  • 修复了遥控器上显示休息信息的问题。

媒体播放器库

  • 修复了处理预加载媒体的 licenseUrl 时出现的问题。

2019 年 2 月 5 日

iOS 发送端 v4.3.5

  • 添加了对有声读物元数据的支持,如需了解详情,请参阅 GCKMediaMetadata.h。
  • 在 podspec 上为 static_framework 设置正确的值。
  • 在连接控制器中拆分导航栏和工具栏的 styleAttributes。
  • bug 修复
    • 修复了在某些数据库初始化失败时发生崩溃的问题。
    • 修复了在来电或闹钟响铃期间 Web 接收器音量栏出现的问题。
    • 修复了在发现期间冗余调用某些委托方法的问题。
    • 修复了媒体队列列表在队列中的最后一项播放完毕后不会清空的问题。
    • 禁止在网络不可用时显示无法访问的附近的设备。
    • 针对无法控制音量的设备,停用了设备视图控制器上的音量滑块。