本文介绍在 PC 端、微信小程序、Electron 等跨平台智能终端上,通过火山引擎 RTC SDK 实现与智能体的音视频通话功能。
开始集成 RTC SDK 前,请确保开发环境满足以下要求:
|
操作 |
说明 |
|---|---|
|
发布智能体 |
已成功搭建并发布智能体为 API 服务。搭建步骤可参考搭建可视化智能体或搭建低延时语音助手,发布步骤请参见发布为 API 服务。 说明 若需使用视频理解能力,请为智能体配置一个视觉模型,例如豆包视觉理解模型。 |
|
获取访问密钥 |
获取访问密钥,用于身份认证与鉴权。
说明 扣子编程 SDK 封装了多种鉴权方式,能够有效简化鉴权流程,你可以参考鉴权示例代码实现不同方式的 OAuth 认证,以获取和管理访问扣子编程 API 所需的令牌。 |
|
开通 RTC 服务 |
搭建智能体,详细步骤请参见搭建一个低代码智能体。
发布智能体为 API 服务,详细步骤请参见发布为 API 服务。
根据业务需求选择合适的 SDK,以下是各平台的 SDK 集成指南:
|
平台 |
SDK 集成指南 |
|---|---|
|
macOS |
|
|
Windows |
|
|
Linux |
|
|
微信小程序 |
|
|
Electron |
|
|
Flutter |
|
|
Unity |
|
|
嵌入式设备 |
调用创建房间 API 创建房间。
调用扣子编程提供的创建房间 API,创建一个房间,并将指定的智能体加入房间,然后才能调用 RTC SDK 和智能体开始音视频通话。
创建房间时可以通过 voice_id 参数指定智能体使用的音色,扣子编程提供一系列系统音色,如果没有合适的系统音色,你也可以调用复刻音色API,复刻指定音频文件中的人声音色。此外,你还可以设置房间内的音频编码格式,提高音频通话质量。
创建房间后会返回 appID、roomID、userID 和 Token,调用 RTC SDK 加入房间时需要设置这些信息。
curl --location --request POST 'https://api.coze.cn/v1/audio/rooms' \
--header 'Authorization: Bearer pat_OYDacMzM3WyOWV3Dtj2bHRMymzxP****' \
--header 'Content-Type: application/json' \
--data-raw '{
"bot_id": "734829333445931****"
}'
{
"detail": {
"logid": "202410291302044CD1CC3B4AE0897***"
},
"data": {
"room_id": "room_id_7431057983427067913", // 房间 id
"app_id": "6705332c79516e01****", // app_id
"token": "0016705*****NzkxMxcANTE1MjkFAAAAAAAAAAEAAAAAAAIAAAAAAAMAAAAAAAQAAAAAACAA58QEAvxdy3LHNzSwq6apM9PUKM2rOsxIg/VB4b1xEFA=",
"uid": "uid_7431057983427051529"
},
"code": 0,
"msg": ""
}
智能体加入房间。
成功创建房间后,智能体会自动加入房间。
说明
调用 RTC SDK 的 joinRoom API 加入 RTC 房间,即可在房间中与智能体开展音视频通话。具体实现方式请参见 RTC SDK 集成指南中的实现音视频通话相关内容。