-
Notifications
You must be signed in to change notification settings - Fork 19
Agora Meeting 业务服务
Read this article in another language: English
声网Agora Meeting 业务服务,实现会议、主持人和与会人的状态管理,具体功能如下:
- 创建会议室
- 生成及更新 RTC、RTM 白板 Token
- 管理主持及与会人列表
- 开关主持人和参会人的音视频
- 管理房间禁言状态及会议控制
- 共享屏幕
- 操作白板
- 移交主持人
- 会议室内人员进出通知、人数统计
- 即时聊天
- 关闭会议室
你可直接使用 Agora Meeting 业务服务,并配合 Agora RTC SDK、Agora RTM SDK 和第三方 Netless 白板 SDK,快速搭建在线互动会议场景。
在编译及运行 Agora e-Education 示例项目之前,你需要完成以下准备工作。
通过以下步骤获取声网 App ID:
- 在声网控制台创建一个账号。
- 登录声网控制台,创建一个项目,鉴权方式选择 “App ID + App 证书 + Token”。注意,请确保该项目启用了 App 证书。
- 前往项目管理页面,获取该项目的 App ID。
在使用 RESTful API 时,你需要使用声网提供的 Customer ID 和 Customer Certificate 通过 Base64 算法编码生成一个 Authorization 字段,填入 HTTP 请求头部,进行 HTTP 基本认证。详见具体步骤。
通过以下步骤获取第三方白板 sdkToken
:
- 在 Netless 控制台创建一个账号。
- 登录 Netless 控制台,前往密钥管理页面,获取
sdkToken
。
你需要将白板的 sdkToken
注册到Agora云服务器中。
- 打开Agora控制台
- 编辑项目管理,移动功能模块,找到白板token,点击“更新token”进行注册。
- 一个Meeting客户端包括业务状态管理Biz Manager、实时音视频RTC SDK、实时消息RTM SDK。
- Biz Manager 用于通过上行Restful Api与服务端Meeting Service交互,操作房间、人/流、白板、屏幕共享等会控状态,管理本地数据与服务器数据的同步。
- RTC SDK根据Biz Manager中获得的人员和屏幕的流信息,控制订阅和发布指定媒体流。
- RTM SDK用于接收Meeting业务服务发来的同步数据,并将房间状态变更交予Biz Manager处理。
调用 entry room
方法加入房间。
POST /conf/v1/apps/{appId}/room/entry
关注以下参数:
入参 | 说明 |
---|---|
appId |
Agora 为 App 开发者签发的 App ID。 |
roomName |
房间名,用于房间内显示。 |
roomUuid |
你的会议系统中的唯一房间标识。传入相同 roomUuid 的用户会分配到同一个房间。 |
userName |
用户名,用于房间内显示。 |
userUuid |
你的用户系统中的唯一用户标识。使用相同 userUuid 会被认为是同一个用户。 |
password |
会议室密码,为选填。 |
enableVideo |
是否打开摄像头,默认 0,表示打开。 |
enableAudio |
是否打开麦克风,默认 0,表示打开。 |
出参 | 说明 |
---|---|
roomId |
房间 ID,房间的唯一标识。 |
userToken |
用户 Token,用户在该房间内的身份凭证,后续在房间内的操作都需要传入此凭证。 |
调用 get room info
方法获取房间信息(房间名、房间类型、白板 ID 和白板 Token、会议状态、房间内在线人数、连麦用户列表)和当前用户信息(用户名、用户角色、RTC Token、RTM Token、Mute 状态)。
客户端可以通过这些信息初始化房间。
GET /conf/v1/apps/{appId}/room/{roomId}
关注以下参数:
入参 | 说明 |
---|---|
appId |
Agora 为 App 开发者签发的 App ID。 |
roomId |
房间 ID,房间的唯一标识,由 entry room 方法返回。 |
token |
用户 Token,用户在该房间内的身份凭证,由 entry room 方法 response 中的 userToken 返回。 |
出参 | 说明 |
---|---|
room |
当前房间信息,包括房间名、房间类型、会议状态、在线人数等。此处会返回进房间时传的 roomUuid ,如需进行定制化开发,你可以将此关联到你自己的会议系统。 |
user |
当前用户的信息,包括用户名、用户角色、RTC Token、RTM Token、可否音视频聊天等。此处会返回进房间时传的 userUuid ,如需进行定制化开发,你可以将此关联到你自己的用户系统。 |
在会议过程中,主持人可以调用 change room info
和 change user info
方法更新房间信息(是否全部禁言、是否锁定白板和会议状态)和用户信息(能否文字聊天、能否发视频、能否发语音、能否操作白板等)。
与会人可以调用 change user info
方法更新自己的用户信息。
信息修改完成后,后台会通过 RTM 频道消息广播给房间内其他用户。
POST /conf/v1/apps/{appId}/room/{roomId}
需要传入 appId
、roomId
和 token
。
POST /conf/v1/apps/{appId}/room/{roomId}/user/{userId}
需要传入 appId
、roomId
和 token
,并指定 userId
。