# 音频播放指令
音频播放指令为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 | 是 |
← 卡片返回格式 内容信源接入服务简介 →