# 播放控制

# 协议类型

消息类型 名称 必须实现
event control_command 否,需云端支持播放控制才需实现

应用场景
当用户在设备上通过按键/界面控制音频播放时,可以发送请求告知云端,云端会根据请求命令返回一个音频资源,终端设备需等待云端的返回并进行对应的执行。

注意

  1. 当用户在设备上通过按键/界面控制资源播放时,如果可以在设备上自行处理该用户请求(终端已获取播放列表),请自行在设备上进行处理,无需发送请求至云端
  2. 如果无法在设备上自行处理该用户请求,可以发送playback_controller.control_command,由云端判断用户控制的是什么资源
  3. 为了防止网络状态不好时用户无法暂停资源播放,用户点击PAUSE按钮,设备必须在设备上自行处理暂停操作

# context

"unios_context": {
  ...
  "playback_controller": {
    "version": "1.0"
  },
  ...
}
1
2
3
4
5
6
7
参数 类型 说明 必填
version string 模块版本,现在是1.0

# event

播放控制

请求示例

{
  "unios_header": {...},
  "unios_context": {...},
  "unios_event": {
    "header": {
      "name": "playback_controller.control_command",
      "message_id": "xxxxxxxx"
    },
    "payload": {
      "type": "PAUSE",
      "resource_id":"xxxxxx",
      "offset":15000,
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
参数 类型 说明 必填
unios_header Object 构建的通用 unios_header
unios_context Object 构建的通用 unios_context
type String 状态类型,详细信息见下表
resource_id String 当前播放资源ID
offset Integer 当前播放位置
target_offset Integer 目标播放位置

type类型说明

type类型 说明
是否有回复
PAUSE 执行了暂停动作之后,发送此类型并告知当前 resource_id 是,得到pause回复
RESUME 执行了继续播放之后,发送此类型并告知当前 resource_id 是,会收到一个带offset的播放内容,应该优先用offset进行播放对应资源
NEXT 按键下一首,发送此类型并告知当前 resource_id 是,得到下一首内容
PREVIOUS 按键上一首,发送此类型并告知当前 resource_id 是,得到上一首内容
FAST_FORWARD 快进,发送此类型并告知当前 resource_id、offset、target_offset 是,会收到一个带offset的播放内容,应该优先用offset进行播放对应资源(如果上传target_offset,则回复中的offset值为target_offset的值,常见场景:用户滑动播放器中的滚动条时的快进快退)
FAST_REWIND 快退,发送此类型并告知当前 resource_id、offset、target_offset 是,会收到一个带offset的播放内容,应该优先用offset进行播放对应资源(如果上传target_offset,则回复中的offset值为target_offset的值,常见场景:用户滑动播放器中的滚动条时的快进快退)
EXIT 按键关闭,发送此类型消息并告知当前resource_id