-
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 Meeting 业务服务之前,你需要在第三方白板 Netless 控制台创建账号,获取白板 Token,然后参考以下方式在你的客户端代码中部署一个生成白板 Token 的服务。
Request GET {{tokenServiceUrl}}?channelName={channelName}
入参 | 类型 | 说明 |
---|---|---|
channelName |
String | 频道名 |
Response
Content-Type: application/json;charset=UTF-8
{
"msg": "Success",
"code": 0,
"data": {
"boardId": "",
"boardToken": ""
}
}
调用 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
。