# 音频播放指令
音频播放指令为Response中的一部分,代表你的技能服务对设备端的操作。
| 指令 | 说明 |
|---|---|
| AudioPlayer.Play | 播放特定audioItem的音频 |
| AudioPlayer.Stop | 停止音频播放器正在播放的音频 |
| AudioPlayer.ClearQueue | 清空音频播放器中的音频流列表 |
# Play
{
"type": "AudioPlayer.Play",
"playBehavior": "ENQUEUE",
"audioItem": {
"stream": {
"type": "| 必须出现",
"url": "https://example.com/audiofile.mp3",
"text": "今天...",
"token": "S0wiXQZ1rVBkov...",
"expectedPreviousToken": "f78b7d68...",
"offsetInMilliseconds": 0
},
"metadata": {
"title": "《十年》",
"subtitle": "陈奕迅",
"art": {
"sources": [
{
"url": "https://example.com/brie-album-art.png"
}
]
}
}
}
}
参数说明
| 参数名 | 说明 | 类型 | 必须出现 |
|---|---|---|---|
| type | 取值AudioPlayer.Play | String | 是 |
| playBehavior | 用来决定客户端怎么处理播放队列。可取值如下: REPLACE_ALL: 立即停止当前播放的音频(发送PlaybackStopped事件至服务端)并清除当前播放队列,立即播放指令中的包含的audio item。 ENQUEUE: 将指令中的audio item添加到当前播放队列的尾部。 REPLACE_ENQUEUED: 替换播放队列中的所有audio item,但不影响当前正在播放的audio item。 | String | 是 |
| audioItem | 包含所要播放的音频资源 | Object | 是 |
| audioItem.stream | 云端音频流信息 | Object | 是 |
| audioItem.metadata | 音频播放时展示在有屏设备上的数据 | Object | 是 |
stream 参数说明
| 参数名 | 说明 | 类型 | 必须出现 |
|---|---|---|---|
| type | 音频文件的类型,可取值 - AUDIO,音频文件 - SPEECH,合成文本 | String | 是 |
| url | 当type取值为AUDIO时,此项必填,音频文件的播放地址。一般情况下是http/https地址,当音频内容是二进制音频附件时,格式为cid:{id} | String | 否 |
| text | 当type取值为SPEECH时,此项必填。此处填写需要使用TTS合成为音频文件的文本。 | String | 否 |
| token | 代表该资源的 token,技能方维护 | String | 是 |
| expectedPreviousToken | 代表前一个音频资源的token。若该参数存在时,需要进行校验: - 在 playBehavior为ENQUEUE时,该参数应该与当前播放队列末尾audioItem的token一致- 在 playBehavior为REPLACE_ENQUEUED时,该参数应该与当前正在播放的audioItem的token一致若不一致则不执行本Play指令。 | String | 否 |
| offsetInMilliseconds | 客户端从指定的offset开始进行播放 | Long | 是 |
metadata 参数说明
| 参数名 | 说明 | 类型 | 必须出现 |
|---|---|---|---|
| title | 音频文件的标题 | String | 是 |
| subtitle | 音频文件的副标题,一般为作者或者分类 | String | 是 |
| art | 音频文件封面,尺寸 960 x 960px | Image Object | 是 |
# Stop
{
"type": "AudioPlayer.Stop"
}
# ClearQueue
{
"type": "AudioPlayer.ClearQueue",
"clearBehavior" : "CLEAR_ALL"
}
参数说明
| 参数名 | 说明 | 类型 | 必须出现 |
|---|---|---|---|
| type | 取值AudioPlayer.ClearQueue | String | 是 |
| clearBehavior | 用来决定设备端怎么清除队列。 - CLEAR_ENQUEUED: 清除队列并继续播放当前歌曲。 - CLEAR_ALL: 清除队列并停止播放当前歌曲。 | String | 是 |
← 卡片返回格式 内容信源接入服务简介 →