本文档介绍了音乐电台Agent的功能说明以及通过SDK接入的方法。
功能说明
开启后,随机播放推荐音乐。
当前曲库:纯音乐(无人声)
音乐试听:
| 音乐名 | 试听 | 描述 |
| Hold on a Sec | Chill,放松,愉快,爵士 | |
| One Step Closer | 奇幻,想象、神秘 | |
| The Celebrated Minuet | 古典、优雅 | |
| Shining Stars | 情绪,治愈,平缓 | |
| Village Tarantella | 异域风情、独特律动 | |
| Quick Metal Riff 1 | 摇滚,亢奋,充满力量感 | |
| Patron Saint of Heists | 俏皮,节奏感 | |
| Painful Disorientation | 古典,细腻优雅,俏皮 | |
| Jethro on the Run | 乡村,欢快,节奏 | |
| Joey's Song | 治愈,平缓,怀旧 |
通过SDK接入音乐电台Agent
1. 通过语音或者文本进入音乐电台
语音说:“进入音乐电台”,“打开音乐电台”
通过文本指令调用: requestToRespond("prompt", "进入音乐电台", null)
2. 获取音乐
成功进入音乐电台,服务会返回一首音乐信息,包含一个可下载的 mp3 链接。 注意,由于语音应用和多模态应用的返回数据格式不同,我们需要分别进行处理。您可以根据您接入的应用类型选择使用。
2.1 使用语音应用接入音乐电台
解析服务端返回的 RespondingContent 类型结果的 payload.output.extra_info.tool_calls。
参数 | 类型 | 其他 | 说明 | |||
tool_calls[] | type | String | 字段名一般固定为“FUNCTION”。代表 function call | |||
id | String | 音乐电台默认为music_radio | ||||
function | ||||||
name | String | 字段为自定义的工具函数名称,与多模态应用的 domain 类似 | ||||
arguments[] | list | 插件或者技能下发的参数列表 | ||||
music_info | jsonString | 音乐资源信息 | ||||
music_keyword | String | 音乐类型,如“爵士布鲁斯” |
2.2 使用多模态应用接入音乐电台
解析服务端返回的 RespondingContent 类型结果的 payload.output.extra_info.commands。
参数 | 类型 | 说明 | ||
commands[] | intent_info | String | 多模态意图 | |
domain | String | 音乐电台默认为music_radio | ||
intent | String | 意图,如open_music_radio打开音乐电台等 | ||
name | String | play_music | ||
params[] | ||||
object.music_info | jsonString | 音乐资源信息,包含音量链接地址等 | ||
object.music_keyword | 音乐类型,如“爵士布鲁斯” |
3. 音乐播放
我们下发的音乐为URL形式的MP3 文件链接。您在获取URL后需要下载或使用网络播放器播放这个URL文件。
- 以 Android 为例。我们提供一个URL MP3 播放器示例代码。您可以在项目中集成这个示例。
- 解析上述下发结果中的“audios” 获取音乐地址。并通过 mp3 播放器进行播放。在 demo 中,我们适配了一个简单的 UI 用于显示音乐播放状态。
集成完成后,用户发送语音指令"打开音乐电台",应用连接成功后将显示音乐播放卡片,包含当前播放歌曲名称、播放进度条及停止按钮,可控制音乐播放。 - 完整代码请参考 Android SDK demo。其他语言请通过类似的解析和播放实现相同功能。