概览

Cast SDK 允许用户使用发送器选择流式视听内容,并在另一个称为接收器的设备上播放(或投射到)播放,同时使用发送器控制播放。

“发送者”一词是指对 Cast 会话发挥控制器角色的应用。发送器启动 Cast 会话并管理用户与内容的互动。

发件人有很多种,包括移动应用和 Google Chrome Web 应用,以及支持触控的 Google Home 设备上的虚拟控制界面。Chrome 网络浏览器中的媒体控件发挥发送者的作用,Google 助理本身也是如此。

术语“接收器”是指在支持 Cast 的设备上运行的应用,负责响应发送器命令以及将在线流式传输服务中的流式传输内容传送到支持 Cast 的设备。例如,支持 Cast 的接收器设备包括 Chromecast、智能电视、智能电视和智能音箱。

Cast SDK 还支持将多个发送器连接到一个 Cast 会话。例如,一个发送者可以在一个接收器上启动一个会话,而另一个发送者可以加入同一个会话以控制播放、加载新内容或将更多内容加入队列以供稍后处理。

应用组件和架构

Google Cast 支持为 AndroidiOS支持 Cast 的 Web 平台(例如 Google Chrome)开发发送方应用开发。

接收器应用在支持 Cast 的设备上运行,相关示例包括:

  • 已连接到高清电视或音响系统的 Chromecast。
  • 支持 Cast 的电视。
  • 支持 Cast 的智能屏幕。
  • 支持 Cast 的 Android 设备,例如 Android TV。

高级 Cast 架构

发送器使用 SDK 定义的媒体播放消息来控制接收器上的媒体播放。如果应用用例需要发送标准媒体播放消息中未正式定义的数据,您可以使用多种消息类型提供的 customData 字段来传递辅助数据。

Cast 应用开发有两种基本场景:

  1. 基于 Cast 的端到端解决方案。在这种情况下,开发者必须同时构建发送器应用和两个接收器应用:Android TV 接收器和网站接收器(下文对此有更详细的介绍)。
  2. 支持 Cast 的发送器应用可将内容(屏幕或多媒体流)投放到 Google 的默认 Cast 接收器(称为默认媒体接收器)。在这种情况下,开发者只需构建一个应用,即发送器。默认媒体接收器适用于学习和非常有限的播放场景。对于需要自定义业务逻辑、凭据、权利管理或分析的接收器来说,这种方法并不实用。

Google Cast SDK

Google Cast SDK 由多个 Cast API 库组成。除了 API 之外,还有两种类型的文档:

  • API 指南可帮助您了解如何将 API 与演示 Cast 功能的示例代码结合使用,以及
  • Codelab 教程,指导您开发特定类型的 Cast 应用。

Cast API 根据平台和 Cast 应用类型进行了划分。表 1 包含指向各种 Cast API 指南的链接。

表 1:Cast SDK 指南
平台 发件人 接收器
Android Android 发送者应用 Android TV 接收器概览
Web Web 发送器应用 Web 接收器概览
iOS iOS 发件人应用 不适用

发件人应用的类型

发件人应用可以运行在三个平台上:

  • Web
  • Android
  • iOS

尽管发送者类型的选择主要取决于您打算支持的发送者平台,但了解每种发送者类型的功能和限制很重要(请参阅表 3)。

表 3:发件人比较
能力 Android 发送者 iOS 发送者 网络发送者
媒体流中的广告插播时间点和随播广告
自定样式的文本轨道
组合媒体轨道、为其设置样式并启用媒体轨道
自动播放和加入队列(编辑、重新排序、更新)
自定义渠道
自定义操作
完整的 Cast 界面,包括控制器和小控制器
加入意向

接收器应用的类型

接收端应用负责处理发送器应用和 Cast 设备之间的通信。 主要有两种类型:网络接收器Android TV 接收器。您至少需要提供一个 Web 接收器,并建议提供 Android TV 接收器,以最大限度提升用户体验的应用体验。

Web 接收器有三种类型,每种类型都有一组截然不同的特性和功能:

  • 自定义接收器:支持自定义逻辑、品牌推广和修改控件。
  • 样式化媒体接收器,可实现自定义品牌推广。
  • 默认接收器,这是最基本的类型。这不允许进行任何自定义,并且不适用于正式版应用。

除了自定义接收器提供的功能之外,Android TV 接收器还提供 Cast Connect,这组功能可将 Cast 与 Android TV 无缝结合,为您的用户提供原生体验。

表 2 重点介绍了不同类型的接收器的功能。

表 2:接收者比较
Android TV 接收器 自定义接收器 风格化媒体接收器 (SMR) 默认媒体接收器
平台
基于 Android (Java/Kotlin)
基于网络 (HTML5)
要求
必须注册
功能
HLS 和 DASH 媒体播放
支持触控
处理来自内置 Google 助理的设备的语音指令
可自定义的视觉风格和品牌信息
处理自定义消息
Cast Connect

在三种 Web 接收器选项之间进行选择取决于应用需要支持的媒体类型、所需的界面自定义程度以及任何自定义逻辑要求。

确定要构建哪种类型的 Web 接收器

如果您的应用可以与 Cast 集成,请按照以下提示确定应构建哪种类型的网络接收器:

在以下情况下,创建自定义接收器:
应用需要以下一项或多项特殊功能:

  • 样式化媒体接收器未提供样式
  • 对触控功能的修改
  • 授权或身份验证
  • 接收器分析
  • DRM 许可与清单分开提供
  • 广告播放前、播放中或播放后
  • 任何其他自定义接收器功能或自定义 JavaScript 逻辑
  • 应用需要自定义样式设置
  • 自定样式的媒体接收器的样式设置功能不足
在以下情况下,创建自定样式的媒体接收器:
  • 应用需要自定义样式设置
  • 样式化媒体接收器的样式设置功能就足够了
  • 应用不需要上面列出的任何特殊功能
在以下情况下,使用默认媒体接收器:
  • 支持该媒体格式
  • 应用不需要自定义样式设置
  • 应用不需要上面列出的任何特殊功能