# UIKit 开源方案概览 (/zh-CN/solutions/chatroom/uikit)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

语聊 UIKit 方案集成了声网的实时互动（RTC）、实时消息（RTM）、即时通讯 IM（前端）和环信 IM（后端），实现房间管理、麦位控制、聊天打赏和音频特效等核心功能。用户可以通过音频连麦互动，使用文字消息辅助聊天，并通过弹幕和礼物活跃房间气氛。UIKit 方案具有模块化 UI、强大拓展性、开发时间短、学习成本低等优势。

<OverviewActions actions={[
  { label: '下载', href: '/zh-CN/solutions/chatroom/uikit/reference/downloads' },
  { label: '方案对比', href: '/zh-CN/solutions/chatroom/uikit/reference/solution-compare' },
]} />

## 开始构建 [#开始构建]

<Cards>
  <Card title="构建功能" href="/zh-CN/solutions/chatroom/uikit/build/enable-service" description="按业务任务接入核心能力，并完成生产环境配置。" />
  <Card title="参考信息" href="/zh-CN/solutions/chatroom/uikit/reference/downloads" description="查看版本、计费、限制、错误码、API 和兼容性说明。" />
</Cards>


## 方案优势 [#方案优势]

声动语聊解决方案有如下优势：

| 优势概述 | 详情 |
| --- | --- |
| 搭载最新音频技术，打造更沉浸式的互动玩法 | [overview-markdown-0-1-1 details](#table-slot-overview-markdown-0-1-1) |
| 行业顶尖音效配置，聊得尽兴，玩得开心 | 声动语聊综合声网超过万亿分钟的用户音效偏好的数据模型，汇总梳理语聊领域各类头部 App 的音效配置，并结合声网音频专家的多年沉淀与研究，提供针对各种语音场景的最佳音效配置，让用户享受行业顶尖的音效体验。 |
| 搭积木式开发，接入成本低 | 语聊房的客户端功能以组件化形式提供，开发者可以像搭积木一样按需调用对应组件（包括弹幕组件、席位管理组件、音效组件、房间管理组件），灵活高效，大幅降低开发接入成本。 |

<a id="table-slot-overview-markdown-0-1-1"></a>

**overview-markdown-0-1-1 details**

- 声动语聊采用声网新一代音频技术智能引擎，包含空间音频、AI 降噪、AI 回声消除、变声音效等功能，使语音互动中的声音具有方位感和空间感。
- 语聊房可以有效屏蔽和抑制环境中的噪音和回声，打造更纯净、更沉浸的语音互动。

## 支持功能 [#支持功能]

声动语聊解决方案支持的核心功能如下：

| 功能 | 描述 |
| --- | --- |
| 多人实时语音 | 语聊房内多位用户实时连麦语聊。 |
| 麦位管理 | 上麦、下麦、静音、锁麦、换麦。 |
| 多种场景音效 | 房主为不同业务场景设置语聊房的最佳音效：包括语聊社交、KTV、游戏陪玩、专业音频直播的语音场景。 |
| 用户个人音效 | [overview-markdown-1-4-1 details](#table-slot-overview-markdown-1-4-1) |
| 空间音频 | 使用户听到的音频具有 3D 空间立体感，让用户感觉更身临其境。用户可以调节麦位在空间中的位置，以选择更好的方位和距离来收听其他用户的发言。详见[空间音频](/zh-CN/realtime-media/rtc/build/audio/spatial-audio)。 |
| 播放背景音乐 | 房主可以播放本地音乐文件、在线音乐文件、声网内容中心的版权音乐、第三方厂商的版权音乐。 |
| 音量波纹提示 | 监听用户声音的音量并创造与音量高低相对应的波纹效果。 |
| 录制 | 通过声网[本地服务端录制](/zh-CN/realtime-media/local-server-recording)或[云端录制](/zh-CN/realtime-media/cloud-recording)服务对语聊房进行录制。 |
| 防止炸房捣乱现象 | 预防和应对炸房捣乱现象的有效措施，帮助维护房间秩序，提高业务安全性。详见[预防和应对炸房捣乱现象最佳实践](/zh-CN/realtime-media/rtc/build/security-and-auth/prevent-stream-bombing)。 |

<a id="table-slot-overview-markdown-1-4-1"></a>

**overview-markdown-1-4-1 details**

用户自定义个人音效：

- AI 降噪（NS）：降低语聊时的噪音。
- AI 回声消除（AEC）：消除语聊时的回声。
- 语音自动增益（AGC）：自动调整唱歌的人声音量。

## 支持平台 [#支持平台]

声动语聊目前支持 Android 和 iOS 平台。

## 技术方案 [#技术方案]

语聊 UIKit 开源方案支持你直接使用声网语聊 UI 组件（AUIVoiceRoom）。该组件为开源项目，已集成声网的[实时互动（RTC）](/zh-CN/realtime-media/rtc)、[实时消息（RTM）](/zh-CN/realtime-media/rtm)、[即时通讯 IM](https://docs-preprod.agora.io/cn/agora-chat/agora_chat_overview?platform=All%20Platforms)（用于前端）、[环信 IM](http://docs-im-beta.easemob.com/product/introduction.html)（用于后端）等产品，提供房间管理、麦位控制、聊天打赏、音频特效等核心功能。

:::info[信息]
声网 UIKit 属于开源项目，并非成熟产品，因此可能存在一些问题。在使用 UIKit 时，声网建议你进行功能测试和验收。声网一直在努力优化 UIKit，并鼓励你在 GitHub 的 [Issues](https://github.com/AgoraIO-Community/AUIVoiceRoom/issues) 或 [Pull requests](https://github.com/AgoraIO-Community/AUIVoiceRoom/pulls) 页面提交问题或代码，以和声网一起推进 UIKit 的改进和完善。
:::

本节介绍项目的技术架构：

![架构图](https://web-cdn.agora.io/docs-portal/img/chatroom/uivoice_architecture_android.png)

![架构图](https://web-cdn.agora.io/docs-portal/img/chatroom/uivoice_architecture_ios.png)

`AUIVoiceRoom` 依赖于 `ASceneKit`，`ASceneKit` 依赖于底层的 `AUIKit`。详细说明如下：

- `AUIVoiceRoom`：代表语聊房 App。该部分需要你自行开发维护。
    - `Activity`：用于管理语聊 App 中房间列表页面和单个房间的详情页面。
    - `VoiceChatUIKit`：负责统一调度 `VoiceChatRoomView` 和 `VoiceChatRoomService`，并管理房间。
- `AScenesKit`：为语聊场景提供业务逻辑的组装模块。该部分由声网提供并维护。
    - `VoiceChatRoomView`：语聊房的容器 View。用于管理 `AUIKit` 提供的 UI。
    - `VoiceChatRoomService`：语聊房的 Service。用于管理 `AUIKit` 提供的 Service。
    - `ViewBinder`：用于将 `VoiceChatRoomView` 和 `VoiceChatRoomService` 绑定。
- `AUIKit`：基础库。该部分由声网提供并维护。
    - UI：基础 UI 组件。
    - Manager：管理环信即时通讯 IM（`AUIChatManager`）、实时消息 RTM（`AUIRtmManager`）、房间（`AUIRoomManager`）等模块。
    - Service：上麦、聊天、送礼物等业务能力。

`AUIVoiceRoom` 依赖于 `ASceneKit`，`ASceneKit` 依赖于底层的 `AUIKit`。详细说明如下：

- `AUIVoiceRoom`：代表语聊房 App。该部分需要你自行开发维护。
    - `Controller`：用于管理语聊 App 中房间列表页面和单个房间的详情页面。
    - `VoiceChatUIKit`：负责统一调度 `VoiceChatRoomView` 和 `VoiceChatRoomService`，并管理房间。
- `AScenesKit`：为语聊场景提供业务逻辑的组装模块。该部分由声网提供并维护。
    - `VoiceChatRoomView`：语聊房的容器 View。用于管理 `AUIKit` 提供的 UI。
    - `VoiceChatRoomService`：语聊房的 Service。用于管理 `AUIKit` 提供的 Service。
    - `ViewBinder`：用于将 `VoiceChatRoomView` 和 `VoiceChatRoomService` 绑定。
- `AUIKit`：基础库。该部分由声网提供并维护。
    - UI：基础 UI 组件。
    - Manager：管理环信即时通讯 IM（`AUIChatManager`）、实时消息 RTM（`AUIRtmManager`）、房间（`AUIRoomManager`）等模块。
    - Service：上麦、聊天、送礼物等业务能力。

如需了解其他技术方案，可参考[方案对比](/zh-CN/solutions/chatroom/uikit/reference/solution-compare)。
