> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coze.cn/llms.txt
> Use this file to discover all available pages before exploring further.

   本文介绍在 PC 端、微信小程序、Electron 等跨平台智能终端上，通过火山引擎 RTC SDK 实现与智能体的音视频通话功能。
   ## 前提条件    {#17b2d2af}
   开始集成 RTC SDK 前，请确保开发环境满足以下要求：
   <!-- @cols-width: 158,658 -->
   | | | \
   |**操作** |**说明** |
   |---|---|
   | | | \
   |发布智能体 |已成功搭建并发布智能体为 API 服务。搭建步骤可参考[搭建可视化智能体](/tutorial/video_bot)或[搭建低延时语音助手](/tutorial/low_latency_voice_assistant)，发布步骤请参见[发布为 API 服务](/guides/publish_agent_api)。 |\
   | |:::tip 说明 |\
   | |若需使用视频理解能力，请为智能体配置一个视觉模型，例如**豆包视觉理解**模型。  |\
   | |::: |
   | | | \
   |获取访问密钥 |获取访问密钥，用于身份认证与鉴权。 |\
   | | |\
   | |* **体验或调试场景**：建议生成短期的个人访问令牌（PAT），以快速完成 Realtime SDK 的整体流程。个人访问令牌的获取方法请参见[添加个人访问令牌](/developer_guides/pat)。 |\
   | |* **线上环境**：在线上环境中，应使用服务访问令牌（SAT）或 OAuth 鉴权方案，各鉴权方式的详细说明请参考[鉴权方式概述](/developer_guides/authentication)。 |\
   | | |\
   | |:::tip 说明 |\
   | |扣子编程 SDK 封装了多种鉴权方式，能够有效简化鉴权流程，你可以参考[鉴权示例代码](https://github.com/coze-dev/coze-js/tree/main/examples/coze-js-node/src/auth)实现不同方式的 OAuth 认证，以获取和管理访问扣子编程 API 所需的令牌。 |\
   | |::: |
   | | | \
   |开通 RTC 服务 |在[火山引擎控制台](https://console.volcengine.com/auth/login/)上[开通 RTC 服务](https://www.volcengine.com/docs/6348/69865)。 |

   ## 实现流程    {#4ba630b1}
   ### 步骤一：创建智能体并发布为 API 服务    {#449736f5}
   搭建智能体，详细步骤请参见[搭建一个低代码智能体](/guides/agent_quick_start)。
   发布智能体为 API 服务，详细步骤请参见[发布为 API 服务](/guides/publish_agent_api)。
   ### 步骤二：集成 RTC SDK    {#e388df2e}
   根据业务需求选择合适的 SDK，以下是各平台的 SDK 集成指南：
   <!-- @cols-width: 220,579 -->
   | | | \
   |**平台** |**SDK 集成指南** |
   |---|---|
   | | | \
   |macOS |[集成 macOS SDK (C++)](https://www.volcengine.com/docs/6348/1169314) |\
   | |[集成 macOS SDK (Objective-C)](https://www.volcengine.com/docs/6348/70131) |
   | | | \
   |Windows |[集成 Windows SDK](https://www.volcengine.com/docs/6348/70130) |
   | | | \
   |Linux |[跑通 Linux 桌面版 Demo](https://www.volcengine.com/docs/6348/131050) |\
   | |[跑通 Linux 命令行版 Demo](https://www.volcengine.com/docs/6348/141350) |
   | | | \
   |微信小程序 |[集成微信小程序 SDK](https://www.volcengine.com/docs/6348/78966) |
   | | | \
   |Electron |[集成 Electron SDK](https://www.volcengine.com/docs/6348/108795) |
   | | | \
   |Flutter |[集成 Flutter SDK](https://www.volcengine.com/docs/6348/132236) |
   | | | \
   |Unity |[集成 Unity SDK](https://www.volcengine.com/docs/6348/108610) |
   | | | \
   |嵌入式设备 |[场景搭建（嵌入式硬件）](https://www.volcengine.com/docs/6348/1438400) |

   ### 步骤三：创建房间    {#ed76bd44}
1. 调用[创建房间](/developer_guides/create_room) API 创建房间。
   调用扣子编程提供的[创建房间](/developer_guides/create_room)  API，创建一个房间，并将指定的智能体加入房间，然后才能调用 RTC SDK 和智能体开始音视频通话。 
   创建房间时可以通过 `voice_id` 参数指定智能体使用的音色，扣子编程提供一系列系统音色，如果没有合适的系统音色，你也可以调用[复刻音色](/developer_guides/clone_voices)API，复刻指定音频文件中的人声音色。此外，你还可以设置房间内的音频编码格式，提高音频通话质量。
   **创建房间后会返回 appID、roomID、userID 和 Token，调用 RTC SDK 加入房间时需要设置这些信息。**
   
   :::: tabs
   @tab 请求示例
   ```Bash
   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****"
   }'
   ```
   
   
   @tab 响应示例
   ```JSON
   {
       "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": ""
   }
   ```
   
   
   ::::

2. 智能体加入房间。
   成功创建房间后，智能体会自动加入房间。
   :::tip 说明
   * 创建房间后返回的 Token，其默认有效期为 3 分钟，如果 3 分钟内没有用户加入房间，或者用户静音 3 分钟，智能体将自动退出房间，房间随即被释放，后续若要再次和智能体对话，则需重新创建房间。
   * 若有用户进入房间，智能体在房间中最长可以持续 24 小时，直至用户主动退出房间或用户设备异常断电等导致连接断开。
   :::
   ### 步骤四：用户加入房间    {#ada24e1e}
   调用 RTC SDK 的 `joinRoom` API 加入 RTC 房间，即可在房间中与智能体开展音视频通话。具体实现方式请参见 RTC SDK 集成指南中的实现音视频通话相关内容。
