概览

Cast SDK 允许用户使用发送者选择流媒体音像内容,并将其播放(或投射到)另一个称为接收器的设备,同时使用发送者控制播放。

“发送者”一词是指在 Cast 会话中发挥控制器的作用的应用。发送者发起 Cast 会话并管理用户与内容的互动。

有许多类型的发送者,包括移动应用和 Google Chrome Web 应用,以及支持触摸的 Google Home 设备上的虚拟控制界面。Chrome 网络浏览器中的媒体控件和 Google 助理本身是发送器。

“接收方”一词是指在支持 Cast 的设备上运行的应用,负责响应发送器命令,并将在线播放服务中的流式传输内容传递到支持 Cast 的设备。支持 Cast 的接收器设备的示例包括 Chromecast、智能电视、智能显示屏和智能音箱。

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

应用组件和架构

Google Cast 支持针对 AndroidiOS支持 Cast 的网络平台(如 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,并且
  • Codelab 教程,引导您开发特定类型的 Cast 应用。

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

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

发送者应用类型

发送者应用可在三个平台上运行:

  • Web
  • Android
  • iOS

虽然对发件人类型的选择在很大程度上取决于您希望支持的发件人平台,但请务必了解每种类型的发件人的功能和限制(参见表 3)。

表 3:发件人比较
能力 Android 发送者 iOS 发送者 Web 发件人
媒体流中的广告插播时间点和随播广告
样式化文字轨道
对媒体轨道进行分组、样式设置以及激活
自动播放和加入队列(修改、重新排序、更新)
自定义渠道
自定义操作
完整的 Cast 界面,包括控制器和迷你控制器
加入意图

接收器应用的类型

接收方应用会处理发送者应用与投放设备之间的通信。 接收器主要有两种类型:网络接收器Android TV 接收器。您应至少提供网络接收器,并鼓励提供 Android TV 接收器以最大程度提高用户的应用体验。

Web Receiver 有三种类型,每种类型都有一系列不同的特性和功能:

  • 自定义接收器 - 用于提供自定义逻辑、品牌信息和修改控件。
  • 样式化媒体接收器,支持自定义品牌塑造。
  • 默认接收器,这是最基本的类型。这不允许进行任何自定义,也不适合正式版应用。

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

表 2 突出显示了不同类型的接收器的功能。

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

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

确定要构建的网络接收器的类型

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

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

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