本文档将详细介绍
TUIRoomKit
会议控制方面的内容,帮助您更好地掌握TUIRoomKit
在进会前及会议过程中的相关功能操作。通过本文档,您能够充分利用TUIRoomKit
的功能,实现高质量的音视频会议。若 TUIRoomKit 的 UI 交互不满足您的产品需求,您有自己的交互和业务逻辑需要自定义实现会控相关的交互功能,可以接入 TUIRoomEngineSDK,并参考 关键代码 相关调用来实现您的需求。功能介绍
Android&iOS&Flutter
端用户创建并进入房间后,房主或管理员角色通过点击底部工具栏成员按钮,在底部弹出的成员列表中既可以选中任一普通成员进行请求开始视频/语音、设为管理员/房主、禁言、踢出房间等会控操作,也可以对房间内所有成员进行全体静音、仅房主/管理员可屏幕共享等会控操作。进入房间 | 成员管理 | 全体静音/禁画 |
| | |
使用说明
会前控制 | |
创建房间 | 您可以配置房间:开启麦克风/摄像头/扬声器、全体静音、全体禁画、房间密码、房间名称、创建的房间类型(自由发言/上台发言) |
进入房间 | 您可以配置房间:开启麦克风/摄像头/扬声器。 |
会中控制 | |
您是房主或管理员 | 您可以控制房间:全体静音/禁画、邀请成员上台或踢下台(上台发言房间)、设置管理员和转交房主、将成员踢出房间、开启或关闭成员的摄像头/麦克风。 |
会前控制
在创建并加入会议时,您需要预先设定会议的相关参数,通过
TUIRoomKit
会前控制的相关功能,确保会议顺利进行。创建房间 | 加入房间 |
| |
您可以通过以下方式创建房间,并设置进房参数,完成会前控制:
ConferenceDefine.StartConferenceParams params = new ConferenceDefine.StartConferenceParams("该房间的roomId"); params.isSeatEnabled = false; // true:上台发言房间,false:自由发言房间。 params.password = "该房间的密码"; // 房间密码。 params.name = "该房间的名字"; // 房间名称。 params.isOpenCamera = true; // 开启摄像头。 params.isOpenMicrophone = true; // 开启麦克风。 params.isOpenSpeaker = true; // 开启扬声器。 params.isCameraDisableForAllUser = false; // 开启全体禁画。 params.isMicrophoneDisableForAllUser = false; // 开启全体静音。 Intent intent = new Intent(this, ConferenceMainActivity.class); intent.putExtra(KEY_START_CONFERENCE_PARAMS, params); startActivity(intent);
import TUIRoomKitfunc quickStartConference() {let vc = ConferenceMainViewController()let params = StartConferenceParams(roomId: "111111") // 请替换 "111111" 为您自定义的会议号params.isSeatEnabled = false // true:上台发言房间,false:自由发言房间。params.password = "12345" // 请替换 "12345" 为您自定义的会议密码。params.name = "YourConferenceName" // 请替换 "YourConferenceName" 为您自定义的会议名称。params.isOpenCamera = true // 开启摄像头。params.isOpenMicrophone = true // 开启麦克风。params.isOpenSpeaker = true // 开启扬声器。params.isCameraDisableForAllUser = true // 开启全体禁画。params.isMicrophoneDisableForAllUser = true // 开启全体静音。vc.setStartConferenceParams(params: params)navigationController?.pushViewController(vc, animated: true)}
var conferenceSession = ConferenceSession.newInstance("您的conferenceId")..isMuteMicrophone = false..isOpenCamera = false..isSoundOnSpeaker = true..name = "您的会议名称"..enableMicrophoneForAllUser = true..enableCameraForAllUser = true..enableMessageForAllUser = true..enableSeatControl = false..onActionSuccess = () { //操作成功的回调,您可以在这里导航至会议界面Navigator.push(context,MaterialPageRoute(builder: (context) => ConferenceMainPage(),),);}..onActionError = (ConferenceError error, String message) {} //操作失败的回调..quickStart();
您可以通过以下方式加入房间,并设置进房参数,完成会前控制:
ConferenceDefine.JoinConferenceParams params = new ConferenceDefine.JoinConferenceParams("加入房间的roomId"); params.isOpenCamera = true; // 开启摄像头 params.isOpenMicrophone = true; // 开启麦克风 params.isOpenSpeaker = true; // 开启扬声器 Intent intent = new Intent(this, ConferenceMainActivity.class); intent.putExtra(KEY_JOIN_CONFERENCE_PARAMS, params); startActivity(intent);
import TUIRoomKitfunc joinConference() {let vc = ConferenceMainViewController()let params = JoinConferenceParams(roomId: "111111") // 请替换 "111111" 为您要加入的会议号params.isOpenCamera = true // 开启摄像头params.isOpenMicrophone = true // 开启麦克风params.isOpenSpeaker = true // 开启扬声器vc.setJoinConferenceParams(params: params)navigationController?.pushViewController(vc, animated: true)}
var conferenceSession = ConferenceSession.newInstance("您的conferenceId")..isMuteMicrophone = false..isOpenCamera = false..isSoundOnSpeaker = true..onActionSuccess = () { //操作成功的回调,您可以在这里导航至会议界面Navigator.push(context,MaterialPageRoute(builder: (context) => ConferenceMainPage(),),);}..onActionError = (ConferenceError error, String message) {} //操作失败的回调..join()
以下是对上述代码中参数的详细介绍。
字段 | 类型 | 含义 |
isMuteMicrophone | bool | 是否静音麦克风(默认为false) |
isOpenCamera | bool | 是否开启摄像头(默认为false) |
isSoundOnSpeaker | bool | 是否使用扬声器(默认为true) |
password | String | 会议密码(默认为空,不开启) |
name | String | 会议名称(默认为您的conferenceId) |
enableMicrophoneForAllUser | bool | 是否开启全员的麦克风权限(默认为true) |
enableCameraForAllUser | bool | 是否开启全员的摄像头权限(默认为true) |
enableMessageForAllUser | bool | 是否开启全员的发言权限(默认为true) |
enableSeatControl | bool | 是否开启上台发言模式(默认为false) |
注意:
上述是针对上述代码中创建房间并加入房间参数的介绍。如可根据传入 isSeatEnable 参数值的不同来创建自由发言房间和上台发言房间,其中两种类型的房间会中控制可操作功能特性也会不同:
自由发言房间:普通用户可以自由进行发言,且自由开关麦克风和摄像头。
上台发言房间:仅台上用户可自由开启或关闭麦克风和摄像头,普通观众可通过举手申请成为台上用户。
会中控制
管理自由发言房间
房间类型为自由发言房间时,房主或管理员可以在成员 > 成员列表中管理会中所有成员。
主持人或管理员可以选中任一成员进行单独管控:对其解除静音/静音、开启视频/关闭视频、设置为管理员、转交主持人、禁言/解除禁言、修改名称、踢出房间。
成员管理 | 转交房主 | 踢出房间 |
| | |
主持人或管理员可以对房间内所有成员进行全体管控:全体静音/解除全体静音 、 全体禁画/解除全体禁画、仅房主/管理员可共享屏幕(全体成员可共享屏幕)
全体静音 | 解除全体静音 |
| |
开启仅房主/管理员可共享屏幕 | 如果有普通成员正在共享,给出提示 | 普通成员无法开启屏幕共享 |
| | |
管理上台发言房间
房间类型为上台发言房间时,房主或管理员除了在成员 > 成员列表中管理会中成员之外,还可以在上台管理中针对选中成员的上台状态进行管理。
主持人或管理员可以选中任一普通成员进行单独管控:除了自由发言房间包含的解除静音/静音、开启视频/关闭视频、禁言/解除禁言、设置为管理员、转交主持人、踢出房间、仅房主/管理员可共享屏幕(全体成员可共享屏幕)之外,还包含上台发言房间独有的邀请上台和请下台等操作。
邀请上台(房主或管理员) | 被邀请房 | 踢某人下台(房主或管理员) |
| | |
主持人或管理员可以对房间内已申请上台的成员进行状态管理:可在上台管理中对选中成员进行同意或拒绝,或对所有进行上台申请成员进行全部同意处理。
普通成员申请上台 | 房主或管理员审批上台 |
| |
关键代码
说明: