对于已发布的每个新版本的 Google Cast,下文会介绍相应的变更并更新 API 参考文档。如需了解设计核对清单的变更,请参阅其变更日志。
2024 年 4 月 18 日
iOS 发送者 4.8.1
- 现在,Cast SDK 支持的最低版本是 iOS 14。
- 软件包中包含的隐私清单以及已签名的 xcframework。
- 访客模式已被弃用并移除。从此版本开始,将有单一变种的 SDK 可供集成。
- 修复了在投放期间有时会播放短广告时发生崩溃的问题。
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 无法识别 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
-
发布了 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
,用于设置在启用输出切换器后发送设备应用是否应显示投放设备。默认值为 true。 -
当应用未设置
CastMediaOptions
或将 CastMediaOptions 设置为 null 时,系统不会再创建MediaSessions
。 -
修复了使用
FragmentContainerViews
时可能发生的MiniControllerFragment
android.view.InflateException
错误。 -
添加了新版
CastButtonFactory#setUpMediaRouteButton
,它会返回Tasks
,应用可以监听其是否成功或抛出的异常。不使用Executor
参数的旧版本将忽略 ModuleAvailableExceptions 并静默失败。
-
发布了 play-services-cast-tv:21.0.1
- 将 minSdkVersion 从 16 增加到 19。
- 此版本包括质量改进
2023 年 7 月 20 日
iOS 发送者 4.8.0
- 现在,iOS SDK 支持的最低版本是 iOS 13。
- 第一个稳定版 XCFramework 版本。
- 通过 CocoaPods 提供的 XCFrameworks。
- 恢复了在媒体播放期间使用实体音量按钮控制音量的功能。
- 现在,“投射”按钮在导航栏中使用时遵循色调颜色。
- 现在可以使用 GCKUIStyle API 自定义导航标题颜色。
- 修复了媒体轨道字幕列表视图中透明导航栏的问题。
- 修复了 XCFramework Beta 版中的崩溃问题。
- 添加了一个 API,用于将 UIControl 与前进或后退操作绑定。
- 为 Pixel Tablet 添加了投屏支持。
2023 年 7 月 6 日
Web 接收器 3.0.0111
-
添加了对使用
BreakManager
addBreak(breakData, breakClips, broadCastMediaStatus)
和removeBreakById(breakId)
进行动态广告插播的支持。 -
向 Smooth 清单添加了
Subtype
字符串解析。 -
在 Shaka Player 的
manifestRequestHandler
、segmentRequestHandler
和licenseRequestHandler
中添加了对异步请求的支持。 - 添加了对强制字幕的支持。
- 将 CAF 的默认 Shaka 版本提升到了 v4.3.4。
-
澄清了
setActiveByIds
参数说明。 - 更正了 CAF 选择不同音轨的方式。
- 更正了 Shaka 请求过滤器的请求正文类型转换。
-
添加了查询
BreakManager
getCreativeInfoByClipId(breakClipId)
中与BreakClip
相关的CreativeInformation
的功能。 - 修复了在通过方向键控制的设备上加载媒体元素时媒体元数据缺失的问题。
-
向
BreakClip
添加了hlsSegmentFormat
和hlsVideoSegmentFormat
属性。 - 修复了使用 MPL 进行区分大小写的 MIME 类型比较的问题。
- 修复了使用 Shaka Player 加载时的实时 HLS(基于 TS)无限缓冲的问题。
-
修复了
IS_AT_LIVE_EDGE_CHANGED
事件的PlayerDataBinder
行为。 - 修复了在使用 MPL 的 TS 片段中提供的数据不足时出现无限循环的问题。
-
针对 Shaka 播放器错误添加了
error.stack
。 -
更改为使用
audioMimeType
字段(而非 Shaka Player 跟踪对象中的audioCodec
)来填充变体轨道的cast.framework.messages.Track.trackContentType
字段。 -
针对 Shaka 播放器轨道向
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
-
发布了 play-services-cast:21.3.0 和 play-services-cast-framework:21.3.0
-
NotificationManager
现在用于发布 Cast 媒体通知,而不是Foreground Service
。 -
添加了新的
CastReasonCodes#CAST_CANCELLED
,用于指示正在取消 Cast 会话。
-
-
发布了 play-services-cast-tv:21.0.0
- 修复了
MediaManager
的可为 null 的注解。
- 修复了
2022 年 10 月 17 日
Web 接收器 3.0.0105
- 将 Shaka 播放器升级到了版本 3.2.11。
-
添加了
cast.framework.PlaybackConfig#enableUITextDisplayer
,以使用 DOM 呈现 Shaka Player 中的字幕。 -
添加了
cast.framework.CastReceiverOptions#shakaVersion
和cast.framework.CastReceiverOptions#useShakaForHls
,以允许接收器使用 Shaka Player 进行 HLS 播放。 -
PlaybackConfig#manifestHandler
、PlaybackConfig#segmentHandler
和PlaybackConfig#licenseHandler
现在可以访问 HTTP 响应标头。 -
在
LOAD_BY_ENTITY
消息解析并发生错误时,向CommandAndControlManager#ErrorResponseData
添加了customData
。
2022 年 10 月 10 日
Android 发送者 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()
。 -
修复了使用
MediaNotificationService
的ForegroundServiceStartNotAllowedException
。 -
使用
Media controls in System UI
更新了MediaNotificationService
。 -
更新了
RemoteMediaClient
API,以接受可为 null 的customData
。 -
将
MediaInfo.Builder
更新为接受contentId
或contentURL
。 -
更新了
ImagePicker#onPickImage
,以接受可为 null 的MediaMetadata
。 -
将
com.google.android.datatransport:transport-api
依赖项更新为最新版本。
-
引入了
2022 年 8 月 8 日
Android 发送者 21.1.0 和 Android TV 接收器 20.0.0
-
发布了 play-services-cast:21.1.0 和 play-services-cast-framework:21.1.0
-
弃用了
CastContext#getSharedInstance(Context)
。请改用CastContext#getSharedInstance(Context, Executor)
(它会返回 Task API)和ModuleUnavailableException
,以便在 Cast SDK 无法加载内部 Cast 模块时处理异常。 -
弃用了
ApplicationMetadata#getImages()
。请改用ApplicationMetadata#getIconUrl()
,它会返回在 Cast Developer Console 中设置的应用图片。 -
修复了注册和取消注册
MediaQueue.Callbacks
时可能发生的ConcurrentModificationException
错误。 -
修复了直播的
MediaInfo#getStreamDuration()
。 -
修复了 Android S 上
MediaNotificationService
的通知 trampoline 限制。 -
修复了
CastContext
泄露对 activity 的引用的问题。 - 修复了广告播放期间显示清晰的背景图片(而非经过模糊处理的版本)的 bug。
-
弃用了
-
发布了 play-services-cast-tv:20.0.0
- 将
minSdkVersion
从 14 提升到了 16。 -
修复了
MediaManager#setSessionCompatToken(MediaSession.CompatToken)
中无法正确支持 null 参数的问题。
- 将
2022 年 3 月 31 日
Web Receiver 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
。 -
cast.framework.events.EventType.BREAK_CLIP_ENDED
事件数据的currentMediaTime
值现在表示事件发生时最新广告插播剪辑的当前时间。 -
添加了
cast.framework.PlayerManager#getRawCurrentTimeSec
方法,该方法会返回媒体元素的媒体时间。 -
添加了
cast.framework.NetworkRequestInfo#timeoutInterval
,用于指定玩家请求的 HTTP 请求超时。 - 修复了在为多路复用 A/V 流解码 CEA 608/708 字幕时出现的 MPL bug。
- 修复了 MPL WebVTT 时间戳解析逻辑,以接受超过 2 位数的小时值。
2021 年 12 月 9 日
Android 发送者 21.0.0
- 通过使 null 安全违规行为成为错误,为 Kotlin 添加了更好的可为 null 性支持。Java 开发者不会受到任何影响。如果 Kotlin 开发者的现有代码并非为 null 安全,可能会导致新的构建失败。
2021 年 11 月 19 日
iOS 发送者 4.7.0
- 修复了 iOS 发送者对 通过 Cast Connect 使用 ATV 凭据的支持。
- 修复了使用 Xcode 13 构建时导航栏具有透明背景的 bug。
-
修复了使用
GCKUICastButton.
报告的无障碍功能问题 - 修复了在 WLAN 和移动网络之间切换时会断开投放会话(而非暂停投放会话)的 bug。
- 不再支持 iOS10 和 iOS11,因此不再支持 32 位架构。
- 修复了其他错误并提升了性能。
2021 年 11 月 16 日
Android Sender 20.1.0
- 注意:以 Android 12 为目标平台的应用必须更新到 Android 发送者 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()
无法返回正确的高度和宽度值的错误。 -
从
MediaStatus
消息中移除了 VAST 和 VMAP 信息,以避免因溢出而导致发送者与接收者断开连接。 -
修复了跳过广告时系统不会向发送者提供
endedReason
的问题。 - 修复了在播放前从加载队列中移除广告插播时间点的问题。
-
新增了
cast.framework.message.QueueChange#reorderItemIds
字段,其中包含受QUEUE_CHANGE
操作影响的队列项的列表。 - 减少了 MPL 中 HLS 直播视频流切换音轨时的缓冲,因此音频和视频现在会保持同步。
- 修复了在采用嵌入式 CEA608/CEA708 字幕的 MPL 中解析 HLS 流的问题。
- 当媒体暂停超过 5 秒时,系统会隐藏 Chromecast(支持 Google TV)的媒体控件。
2021 年 5 月 26 日
iOS 发送者 4.6.1
- 修复了允许后台执行的应用暂停后台 Cast 会话的问题。
2021 年 5 月 17 日
iOS Sender 4.6.0
- 将“投射”按钮的默认行为更改为了在连接到 Wi-Fi 时始终显示。
- 添加了新的帮助对话框,当用户点按“投射”按钮且未找到任何设备时显示该对话框。
-
废弃了
GCKUICastButton::triggersDefaultCastDialog
API。 -
为通过新 API
GCKUICastButtonDelegate
实现自定义界面的应用添加了对对话框自定义的更统一支持。 - 为 iOS 13 及更高版本添加了深色模式支持。
-
向
GCKUIStyleAttributes
添加了广告标记自定义功能。 -
向媒体添加了对
hlsSegmentFormat
和hlsVideoSegmentFormat
的支持。 - 修正了一些错误并提升了性能。
2021 年 4 月 29 日
Web 接收器 3.0.0096
- 修复了图片投射损坏的 bug。
2021 年 4 月 20 日
Android 发送者 20.0.0 和 Android TV 接收器 18.0.0
-
发布了 play-services-cast:20.0.0 和 play-services-cast-framework:20.0.0。
- 删除了 GameManager 及相关 API。自 2017 年起,这些库已被弃用。
-
向 Cast 客户端库添加了
SessionState
类。 -
添加了
CastReasonCodes
,以提供CastStatusCodes
的详细说明。使用CastContext#getCastReasonCodeForCastStatusCode(int)
方法从CastStatusCodes
转换为CastReasonCodes
。 -
向
MediaInfo.Builder
添加了HlsSegmentFormat
和HlsVideoSegmentFormat
。 -
将
MediaNotificationService
的foregroundServiceType
标记为mediaPlayback
。 -
将
com.google.android.datatransport:transport-api
的依赖项更新到最新版本。 -
添加了
MediaLoadRequestData.Builder
构造函数,以从MediaLoadRequestData
对象构建。 - 修复了从 VOD 切换到直播视频流时迷你播放器上的播放/暂停按钮存在的问题。
-
为 Cast 媒体通知实现了
MediaIntentReceiver#ACTION_DISCONNECT
。
-
发布了 play-services-cast-tv:18.0.0:
-
向 cast-tv 库添加了
StoreSessionRequestData
类和StoreSessionResponseData
类。
-
向 cast-tv 库添加了
2021 年 4 月 5 日
Web 接收器 3.0.0095
- 已将 Shaka Player 升级到 3.0.10。
-
现在,如果支持
STREAM_TRANSFER
媒体命令,“投射”按钮会默认显示。 - 在媒体浏览界面的底部添加了建议栏。建议栏包含交互式条状标签,选择这些条状标签可以播放媒体项或滚动浏览可用的媒体项。每个条状标签还会映射到一个可用的 Google 助理命令。目前,仅当系统语言设置为英语或日语时,才支持建议内容信息条。
- 修复了 Chromecast with Google TV 中的一个 bug:将照片内容投射到默认接收器时,会显示媒体控件叠加层。
- 添加了对
TRACKS_CHANGED
事件的支持。
2020 年 12 月 18 日
Web 接收器 3.0.0085
-
向
CastReceiverOptions
添加了选项,用于停用 Shaka 和 MPL 的加载。
2020 年 12 月 3 日
iOS 发送者 4.5.3
-
修复了
GCKCredentialsData
的加载时错误“Un 容器 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
未更新以反映正确的 Cast 状态的问题。 - 修复了“返回类型的可为 null 性说明符冲突”警告。
2020 年 9 月 14 日
Web 接收器
- 已将 Shaka Player 升级到 2.5.16。
iOS 发送者 4.5.0
- 在 iOS 14 中添加了对 Cast 设备发现变更的支持,首次投放时需要获得用户明确许可。如需了解详情,请参阅 iOS 14 中的首次投射。
- 更新了对 iOS 10 的最低 SDK 支持。
2020 年 9 月 8 日
网络发送者
- 引入了 Cast Connect,可让 Chrome 应用将内容投屏到 Android TV 应用。如需了解详情,请参阅 Android TV 接收器文档。
2020 年 8 月 31 日
Web 接收器
- 添加了对 DASH 中的 HLS / EventStream 中的 #EXT-X-DATERANGE 的支持。
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
-
引入了 Cast Connect,可让 Android TV 应用符合 Cast 协议,以便其能够以接收端应用的身份运行。如需了解详情,请参阅 Android TV 接收器文档。
- 发布了 play-services-cast-tv:17.0.0 作为 Android TV 应用的接收器 SDK。
- 发布了 play-services-cast:19.0.0 和 play-services-cast-framework:19.0.0,包括 Cast Connect 发送方 API 和 play-services-cast-tv 使用的 API。
-
API 更新:
-
废弃了
AdBreakStatus#AD_BREAK_CLIP_NOT_SKIPPABLE
,改用AdBreakClipInfo#AD_BREAK_CLIP_NOT_SKIPPABLE
。 -
将
CastRemoteDisplayLocalService#getDisplay()
重命名为CastRemoteDisplayLocalService#getCastRemoteDisplay()
,以避免在 Android 11 上出现 API 冲突。 -
在
MediaError
中添加了getCustomData()
和getType()
。 -
在
MediaStatus
中添加了详细的受支持命令位常量 (MediaStatus#COMMAND_*
)。 -
公开了
MediaTrack#getRoles()
。 -
公开了
RemoteMediaClient.Callback#onMediaError()
。
-
废弃了
2020 年 7 月 13 日
Web 接收器
- 改进了默认界面的媒体类别检测(视频与音频)。
- 添加了对 Shaka Player 中的实时绝对时间的支持。
- 修复了 Nest Hub Max 设备上出现音频干扰的问题。
- 已将 Shaka Player 升级到 2.5.12。
2020 年 5 月 4 日
Web 接收器
- 现在,可以配置 Google 助理指令的超时值。
- 现在,错误事件中会显示详细的 MPL 错误代码。
-
现在可以使用
enforceSupportedCommands
标志强制执行支持的媒体命令。 - 修复了在播放中断期间报告的受支持命令。
- 修复了 Google 助理 shuffle 加载请求的问题。
- 修复了
getStats
值中的 bug。
2020 年 3 月 12 日
Web 接收器
-
向
deviceCapabilities
添加了新的设备功能IS_CBCS_SUPPORTED
。 - 已将 Shaka Player 升级到 2.5.8。
2020 年 2 月 27 日
iOS Sender v4.4.7
- 修复了不使用 SDK 中任何界面组件的应用的实体音量按钮。
-
修复了重复按前进或后退按钮时展开的控制器中的
currentTime
标签存在的问题。 -
应用移至后台后,
GCKMediaQueue
中的媒体内容会保留。 -
界面自定义更新:
- 迷你控制器的进度条现在可自定义。
- “投射”对话框的导航栏和工具栏的背景颜色现在可自定义。
- 修复了 iPhone X 特有的界面问题。
- 修复了导致卡顿和崩溃的几个问题。
2020 年 2 月 24 日
Android 发送者 18.1.0
-
为
MediaError
添加了 详细错误代码和错误原因的预定义常量。
2020 年 1 月 22 日
Web 接收器
- 修复了更改支持的命令时广播多种媒体状态的问题。
接收器 v2
- 改进了 VAST 广告的比特率选择。
MPL
- 添加了对会话密钥预提取的支持。如需了解详情,请参阅 HTTP Live Streaming 第 2 版草稿。
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 Developer Console 中注册 Cast 设备以进行调试。 - 修复了加载停滞问题。
- 现在,系统会为队列中每个失败项发送单独的媒体错误消息。
MPL
- 修复了一个与直播相关的问题,即在收到停止消息后,音频会在一段时间内继续播放的问题。
- 修复了在质量级别更改期间出现视频压缩伪像的问题。
- 修复了使用 *.m4s 片段的 HLS 流失败的问题。
2019 年 12 月 5 日
Android 发送者 18.0.0
-
添加了
setMediaSessionEnabled
,供开发者启用和停用由 Cast SDK 创建的媒体会话。 - 更改了媒体通知在 Cast 会话期间的显示方式。如果启用了媒体通知,它在投射会话期间将始终显示。 以前,此图标只会在应用在后台运行时显示。
-
更改了某些媒体相关类以实现
Parcelable
接口。
2019 年 11 月 11 日
iOS Sender v4.4.6
- 修复了与受支持的最低 iOS 9 版本相关的问题。
2019 年 10 月 7 日
Web 接收器
- 作为轨道元数据的一部分提供的轨道角色。
- 将 Shaka Player 版本升级到了 2.5.5。
2019 年 9 月 23 日
iOS Sender v4.4.5
- 改进了对 Cast 设备发现和会话管理的支持。
-
向
GCKMediaStatus
添加了新的媒体命令。 -
向
GCKAdBreakStatus
添加了whenSkippable
属性。 - 修复了 Google Ads 和 iOS 13 的界面。
2019 年 9 月 11 日
Android 发送者 17.1.0
-
向
RemoteMediaClient.MediaChannelResult 添加了
MediaError
字段,可用于访问失败的媒体命令的详细错误代码。 -
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
添加了一个新依赖项。
2019 年 9 月 9 日
Web 接收器
-
如果预加载了下一项,
TV_SHOW
元数据类型现在会在默认播放器中显示“接下来播放”预览。 -
向
cast.framework.messages
命名空间添加了ContentRating
类。 -
更新了默认界面音频标题,使
metadata.artist
优先于metadata.albumArtist
。 - 添加了对负 startTime 值的支持,以指示相对于内容结束或直播边缘的开始时间。
- 媒体浏览:
- 现在,当用户无操作 30 秒后,媒体浏览抽屉式导航栏会自动隐藏。
- 向媒体浏览叠加层的右上角添加了“播放/暂停”按钮和媒体内容缩略图。
- 更新了媒体浏览列表行为。现在,每次设置媒体浏览内容时,水平滚动都会重置为初始的最左侧位置。
- 修复了以下问题:
-
延迟解析
BasePlayer
结束 promise,以允许触发媒体元素事件。 - 处理了与广告预加载相关的加载错误。
- 现在,水印与其余元数据一起显示。
-
Chromecast 上的默认音频界面遵循
.progressBar
样式。 - 消除了在 LOADING 之前和播放后续媒体项之间空闲屏幕的启动问题。
- 修复了 Dash 内容的跳转失速问题。
Web 接收器 v2
-
向
cast.receiver.media
命名空间添加了ContentRating
类。 - 修复了当队列中有多个项时错误数据传播不正确的 bug。
媒体播放器库
- 向 API 添加了 HLS #EXT-X-MEDIA 属性。
- 修复了以下问题:
- 修复了失败的 SourceBuffer remove() 操作导致音轨切换崩溃的问题。
- 修复了指定打包的音频格式类型(例如 *.ec3)但使用了基于 MPEG-4 的片段(例如,*.mp4、*.mp4a 等)时出现的解析问题。
- 修复了带内 CEA608 字幕显示延迟时间明显的 HLS 问题。
- 修复了 HLS 和“流畅”内容(没有音频无法加载)的问题。
2019 年 8 月 27 日
网络发送者
- Web Sender 现在使用新的自定义元素 v1 语法。此版本取代了已弃用的 v0。
-
使用添加到 Chrome M77 的新
getEstimatedBreakTime
、getEstimatedBreakClipTime
和getLiveSeekableRange
函数,修复了breakTime
、breakClipTime
和liveSeekableRange
已更改的事件。
2019 年 8 月 12 日
iOS Sender v4.4.4
- 改进了 iOS 13 上的使用体验。
- 改进了对 Cast 设备发现的支持。
2019 年 7 月 30 日
Web 接收器
- 将 Shaka Player 版本升级到了 2.5.1。
- 修复了元数据叠加层在内容加载期间过快消失的问题。
- 修复了对加载拦截器中的遭拒的处理方式,以清除加载状态。
- 将
setBrowseContent
更新为可为 null。 - 修复了在广告插播时间点跳转时报告的当前时间不正确的问题。
- 添加了对 ignoreTtmlPositionInfo 的支持,以忽略 TTML 字幕定位。
- 改进了对加载错误处理的支持:
- 避免了触发多个
MediaFinishedEvent
。 - 触发了在加载错误时清除播放器的媒体管理器错误回调。
2019 年 7 月 22 日
iOS Sender v4.4.3
- 通过提供 error_reason 改进了对加载错误处理的支持。
- 发布了不支持访客模式的 SDK 版本。
2019 年 6 月 17 日
Android 发送者 17.0.0
- 最新的 SDK 已从 Android 支持库切换到 Jetpack (AndroidX) 库。除非您在应用中进行以下更改,否则库将无法运行:
-
将
com.android.tools.build:gradle
升级到 v3.2.1 或更高版本。 - 将
compileSdkVersion
升级到 28 或更高版本。 - 更新您的应用以使用 Jetpack (AndroidX)。按照迁移到 AndroidX 中的说明操作。
- 如需了解详情,请参阅 Google API for Android 版本说明。
2019 年 6 月 10 日
Web 接收器
- 引入了对媒体浏览的支持,这是一项用于在智能显示屏上发现内容的新功能。
- 在默认界面中,针对 9 个新语言区域添加了本地化版本:
- 丹麦语
- 英语(英国)
- 英语(印度)
- 英语(新加坡)
- 法语(加拿大)
- 意大利语
- 挪威语
- 荷兰语
- 瑞典语
- 移除了遥控器界面专辑封面的圆角。
- 修复了直播和其他区域的问题。
iOS Sender v4.4.2
- 访客模式
- 添加了对 Cast 开发者控制台中的“启用访客模式”选项的支持。
- 修复了访客模式会话管理的问题。
- bug 修复
- 修复了 v4.4.1 中引入的本地化问题。
2019 年 4 月 24 日
iOS Sender v4.4.1
- 引入了针对直播的 Alpha 版支持。如需了解详情,请参阅开发者指南。
- 针对直播状态添加了新的数据结构和属性。
- 添加了新的 GCKMediaMetadata 键。
- 添加了直播媒体命令:
- [GCKRemoteMediaClient loadMediaWithLoadRequestData:]
- [GCKRemoteMediaClient seekWithOptions:]
- 改进了展开的控制器界面以支持直播:
- 更改了展开的控制器的布局和外观。
- bug 修复
- 修复了 iPhone X 上的 GCKUICastContainerViewController 的底部。
- 修复了操作系统在执行大量网络活动时的重新连接问题。
- 修复了使用 GCKUICastButton 初始化无障碍功能标签时发生崩溃的问题。
2019 年 4 月 23 日
Web 接收器
- 引入了针对直播的 Alpha 版支持。如需了解详情,请参阅开发者指南。
- 更新了界面以支持直播,包括直播指示器。
- 向媒体状态添加了 mediaCategory 字段,用于指示媒体是视频、音频还是照片。
- bug 修复
- 修复了 playConfig.segmentHandler 返回值的使用。
媒体播放器库
- 向 MPL 中的 HLS 添加了 HEVC 编解码器支持。
网络发送者
- 引入了针对直播的 Alpha 版支持。如需了解详情,请参阅开发者指南。
- 引入了对广告的支持。如需了解详情,请参阅开发者指南。
- 为可跳过的广告添加了 RemotePlayerController.skipAd()。
Android 发送者 16.2.0
- 引入了针对直播的 Alpha 版支持。如需了解详情,请参阅开发者指南。
- 针对直播状态添加了新的数据结构和属性。
- 添加了新的 MediaMetadata 键。
- 添加了直播媒体命令:
- RemoteMediaClient#load(MediaLoadRequestData)
- RemoteMediaClient#seek(MediaSeekOptions) 类
- 改进了展开的控制器界面以支持直播:
- 向展开的控制器界面 widget 添加了直播支持。
- 更改了展开的控制器的布局和外观。
- 引入了与直播兼容的 CastSeekBar 微件,用于替换原生 SeekBar。
- 修改了 ExtendedControllerActivity,以使用 CastSeekBar 而不是 SeekBar,以实现直播兼容性。 ExtendedControllerActivity#getSeekBar() 现已废弃,并将返回一个虚拟实例。
- 添加了新的 MediaStatus#PLAYER_STATE_LOADING 播放器状态:
- 当网络接收器开始加载媒体时,MediaStatus 中的 playerState 属性设置为 MediaStatus#PLAYER_STATE_LOADING,直到它开始缓冲或播放内容。
- 在大多数情况下,应用处理此状态的方式与处理 MediaStatus#PLAYER_STATE_BUFFERING 的方式相同。
- 缓冲状态和加载状态并非总是可以互换的。
- 加载时,网络接收器尚未解析所有媒体信息,因此可用的唯一媒体信息是发送器加载媒体请求中显示的内容。
- 缓冲时,媒体信息可能包含由接收器解析的其他信息。
- 修改了 MediaMetadata 以支持有声读物:
- 添加了新的 MediaMetadata 键。
- 为有声读物添加了新的元数据类型。
2019 年 3 月 25 日
Web 接收器
-
将
document.registerElement()
的用法替换为了customElements.define()
,以使 Web 接收器 SDK 与较新版本的 Cast 平台兼容。 -
现在,如果内容存在广告插播时间点,但当前未播放广告插播时间点,
MediaStatus.breakStatus
会返回一个空对象。 - 修复了内嵌 VAST 代码解析方面的问题。
媒体播放器库
- 修复了切换音轨时延迟大约 20 秒的问题。
2019 年 2 月 13 日
Web 接收器
- 修复了触摸界面的“跳过广告”按钮突然显示的问题。
- 修复了遥控器上中断显示信息的问题。
媒体播放器库
- 修复了处理预加载媒体的 licensesUrl 的问题。
2019 年 2 月 5 日
iOS Sender v4.3.5
- 添加了对有声读物元数据的支持。如需了解详情,请参阅 GCKMediaMetadata.h。
- 在 podspec 上为 static_framework 设置正确的值。
- 连接控制器中导航栏和工具栏的分屏 styleAttributes。
- bug 修复
- 修复了某些数据库初始化失败时发生崩溃的问题。
- 修复了来电或闹钟响铃期间 Web 接收器音量栏存在的问题。
- 修复了在发现期间某些委托方法的冗余调用问题。
- 修复了在队列中的最后一项播放完毕后媒体队列列表不清除的问题。
- 禁止在网络不可用时显示附近无法访问的设备。
- 对于无法控制音量的设备,停用了设备视图控制器上的音量滑块。