会议控制

会控主要通过设置房间属性,标识当前用户权限级别,再配合通道消息发送接口的 API 来完成,以下为会控功能的实现逻辑,具体的代码需要 App 来实现:

一、确定会议主持人:

  1. 假定第一个加入房间的用户作为主持人,负责控制音视频房间的所有人员角色,需要调用设置房间属性,给当前房间设置主持人属性,权限等信息,同时选择发送一条消息到房间中让房间成员知道。

二、房间成员申请升级音视频权限:

  1. 第二个加入房间的人员为普通用户,先获取此房间属性,判断房间主持人。

  2. 使用通道消息发送接口,向房间中发送一条请求发言或请求视频通话的指令消息(该消息由开发者自定义)。

  3. 主持人收到房间内的指令消息后,判断消息类型,执行同意或拒绝操作,同时将操作结果通过通道消息发送接口,发送到房间中。

  4. 用户收到主持人操作后的消息,判断消息类型,如消息指令为通过则调用发布流接口发布音视频流,远端用户收到流之后订阅即可

三、主持人调整房间用户音视频权限:

  1. 主持人如果不想房间中某一个人发言或者发布视频,可以通过[通道消息发送]接口,向房间中发送一条消息,消息中需要指定被调整用户 ID 及此条消息的指令类型(如:禁止发言)。

  2. 房间中用户收到此条消息后,判断是否为对自已的权限操作,如是对自已权限的调整的指令消息,则根据指令对本端设备进行相关权限设置(如:关闭本地摄像头或者麦克风),否则抛弃此消息,达到资源控制的逻辑。

  3. 远端用户收到禁用资源的命令之后自动关闭本地摄像头或者麦克风,达到资源控制的逻辑

说明:

会控功能主要是利用发布控制类消息,设置房间属性和成员属性的 API 来完成,合理利用这几个 API 即可实现会控功能。