说明:如果您有自己的 UI 设计,想结合会议业务自行开发,我们同时提供有灵活性更好,功能更全面的 MeetingKit SDK,您可以通过查看我们的 MeetingKit API 文档,了解更多功能。
功能概述
组件提供预约会议、音视频控制、屏幕共享、会议录制、成员管理、会控管理、会中聊天等丰富的功能交互,支持多种业务场景。| 功能列表 | 功能描述 |
|---|---|
| 多人音视频 | 支持大规模人员参会,并支持多人同时开启音视频。 |
| 标准会议 UI | 含有标准会议所需要的UI组件,可满足基本音视频会议场景所需功能。 |
| 自定义 UI | 由于为开源套件,您也可根据自身业务场景自定义UI。 |
| 预约会议 | 支持预约会议、并将预约会议显示在会议列表。 |
| 屏幕分享 | 支持屏幕共享,让会中成员同时观看共享屏幕中所展示的内容。 |
| 会议控制 | 会控分为会前控制和会中控制: + 会前创建并加入会议时,可以通过预先设定会议的相关参数调整麦克风、摄像头、扬声器的打开情况,并决定会议的模式、类型以及参会方式(密码、仅限受邀等)。 + 会中可以对所有成员进行管控,全体静音/禁视频、修改名称、移出房间、转交主持人、邀请开麦/关麦、锁定等。 |
| 会中聊天 | 参会成员可以实时在聊天区发送消息,主持人或管理员也可以设置禁止参会者在会中发送消息。 |
| 云端录制 | 支持用户在视频会议场景中进行录制以及画面合成等功能。 |
| 多端登录会议 | 支持多设备设备登录。 |
| 举手发言 | 当会议设置了全体静音时,会议成员可以向管理员发出发言请求。 |
| 房间密码 | 支持创建密码房间、预约密码房间。 |
| 设置昵称、头像 | 支持在会议过程中修改用户参会昵称。 |
快速跑通
环境准备
- iOS 12.0 及以上版本
下载示例
1、下载源码
- 方式一:从 github 下载 MeetingKit Demo 源码。
- 方式二:直接在命令行运行以下命令:
3、安装依赖库
创建房间
跳转会议主界面
- 预约会议可设置的属性:其中可设置内容包含:会议名称、会议类型、开始时间、会议时长、会议模式、邀请成员、会议加密、成员管理等。
- 如何邀请成员:点击 “邀请与会人”->“添加” 即可邀请成员。
| 邀请与会人 | 与会人列表 | 选择与会人 |
|---|---|---|
![]() | ![]() | ![]() |
查看已预约的房间
示例中提供了房间列表的UI视图 FWHomeViewController,会议列表提供以下功能:- 查看会议列表:列表中包括您创建的会议以及您被邀请参加的会议。
- 查看会议详情:您可以点击某个会议查看该会议的详情。
- 修改会议信息:点击会议列表某个会议,若该会议未进行,且您是发起人,您可以修改该会议信息。
| 会议列表 | 查看会议详情 | 修改会议信息 |
|---|---|---|
![]() | ![]() | ![]() |
会议控制
使用说明
用户创建并进入房间后,创建者或管理员角色通过点击底部工具栏成员按钮,在底部弹出的成员列表中既可以选中任一普通成员进行请求开始视频/音频、设置管理员、禁言、踢出房间等会控操作,也可以对房间内所有成员进行全体静音等会控操作。| 会中界面 | 成员管理 | 全体静音/禁画 |
|---|---|---|
![]() | ![]() | ![]() |
| 会前控制 | |
|---|---|
| 创建房间 | 您可以配置房间:开启麦克风/摄像头、全体静音、全体禁画、房间密码、会议名称、会议类型、参会方式等。 |
| 进入房间 | 您可以配置房间:开启麦克风/摄像头。 |
| 会中控制 | |
| 您是创建者或管理员 | 您可以控制房间:全体静音/禁画、邀请成员、设置管理员及其转移、将成员踢出房间、开启或关闭成员的摄像头/麦克风等。 |
会前控制
在创建和加入会议时,您需要预先设定会议的相关参数,通过MeetingKit会前控制的相关功能。
| 创建会议 | 加入会议 |
|---|---|
![]() | ![]() |
- 您可以通过以下方式创建房间,完成会前控制:
会中控制
房间创建者或管理员可以在”参会成员”->“成员列表”中管理会中所有成员。- 创建者或管理员可以选中任一成员进行单独管控:对其解除静音/静音、开启视频/关闭视频、禁言/解除禁言、修改名称、踢出房间等操作。
| 成员管理 | 修改名称 | 踢出会议 |
|---|---|---|
![]() | ![]() | ![]() |
- 创建者或管理员可以对房间内所有成员进行全体管控:全体静音/解除全体静音 、 全体禁画/解除全体禁画、邀请参会成员等。
| 全体静音 | 解除全体静音 | 邀请参会成员 |
|---|---|---|
![]() | ![]() | ![]() |
共享屏幕
使用说明
用户进入房间后,通过点击底部工具栏共享按钮,可以实现屏幕共享操作。| 屏幕共享 | 唤醒屏幕采集 |
|---|---|
![]() | ![]() |
功能接入
iOS 系统上的跨应用屏幕分享,需满足系统在 iOS12 以上,需要增加 Broadcast Upload Extension 录屏进程以配合宿主 App 进程进行推流。Extension 录屏进程由系统在需要录屏的时候创建,并负责接收系统采集到屏幕图像。因此需要:- 创建 App Group,并在 Xcode 中进行配置(必选)。这一步的目的是让 Extension 录屏进程可以同宿主 App 进程进行跨进程通信;
- 在工程中,新建一个 Broadcast Upload Extension 的 Target,并在其中集成 SDK 中专门为扩展模块定制的
**MeetingKit.framework**; - 对接宿主 App 端的接收逻辑,让宿主 App 等待来自 Broadcast Upload Extension 的录屏数据。
1、创建 App Group
使用开发者帐号登录 https://developer.apple.com/ ,进行以下操作,注意完成后需要重新下载对应的Provisioning Profile文件。- 单击 Identifiers
- 在右侧的界面中单击加号
- 选择 App Groups,单击 Continue
- 在弹出的表单中填写 Description 和 Identifier, 其中 Identifier 需要传入接口中的对应的 AppGroup 参数,完成后单击 Continue


- 回到 Identifier 页面,右上边的菜单中选择 App IDs,然后单击您的 App ID(宿主 App 与 Extension 的 AppID 需要进行同样的配置)
- 选中 **App Groups **并单击 Edit
- 在弹出的表单中选择您之前创建的 App Group,单击 Continue 返回编辑页,单击 Save 保存

- 重新下载 Provisioning Profile 文件,并配置到 Xcode 中
2、创建 Broadcast Upload Extension
在现有工程选择【New】->【Target…】,选择【Broadcast Upload Extension】,如图所示:
3、为扩展添加SDK依赖
- 手动集成方式需要将
**MeetingKit.framework**导入上述Product Name 的工程目录,并配置依赖的系统库; - 自动集成方式需更改
Podfile文件,并执行pod install,如下图所示:

4、为宿主工程添加后台权限
工程宿主【TARGETS】->【Signing & Capabilities】->【Capability】,选择【Background Modes】,如图所示:

5、为扩展工程添加 App Group
选中新增加的 Target,依次单击 + Capability,双击 App Groups,如下图:


SampleHandler中实现RTCScreenDelegate代理:
SampleHandler中实现开启屏幕录制功能:
会议聊天
使用说明
进入房间后可以在”聊天”->“聊天窗口”进行文字、表情聊天以及传输和查看文件。| 会中界面 | 聊天界面 | 上传文件 |
|---|---|---|
![]() | ![]() | ![]() |





















