会议控制
本文档将详细介绍
TUIRoomKit
会议控制方面的内容,帮助您更好地掌握TUIRoomKit
在进会前及会议过程中的相关功能操作。通过本文档,您能够充分利用TUIRoomKit
的功能,实现高质量的音视频会议。
Android&iOS&Flutter
端用户创建并进入房间后,房主或管理员角色通过点击底部工具栏成员按钮,在底部弹出的成员列表中既可以选中任一普通成员进行禁言、设为管理员等会控操作,也可以对房间内所有成员进行全体静音等会控操作。
会前控制
在创建并加入会议时,您需要预先设定会议的相关参数,通过
TUIRoomKit
会前控制的相关功能,确保会议顺利进行。
// CreateRoomViewController 为您自己的 ViewControllerclass CreateConferenceViewController: UIViewController {private var conferenceViewController: ConferenceMainViewController?func quickStartConferenceAction() {conferenceViewController = ConferenceMainViewController()// 通过设置ConferenceParams中的参数来实现会前控制的相关功能let params = ConferenceParams()params.isMuteMicrophone = falseparams.isOpenCamera = falseparams.isSoundOnSpeaker = trueparams.name = "您的会议名称"params.enableMicrophoneForAllUser = trueparams.enableCameraForAllUser = trueparams.enableMessageForAllUser = trueparams.enableSeatControl = falseconferenceViewController?.setConferenceParams(params: params)conferenceViewController?.setConferenceObserver(observer: self)//设置完成后再调用开始会议或加入会议的接口,这里以开始会议为例conferenceViewController?.quickStartConference(conferenceId: "您的conferenceId")}}extension CreateConferenceViewController: ConferenceObserver {func onConferenceStarted(conferenceId: String, error: ConferenceError) {if error == .success, let vc = conferenceViewController {navigationController?.pushViewController(vc, animated: true)}conferenceViewController = nil}}
public class ConferenceOwnerActivity extends AppCompatActivity {private static final String TAG = "ConferenceOwnerActivity";private ConferenceObserver mConferenceObserver;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.app_activity_conference_main); // 通过设置ConferenceParams中的参数来实现会前控制的相关功能ConferenceParams params = new ConferenceParams();params.setMuteMicrophone(false);params.setOpenCamera(false);params.setSoundOnSpeaker(true); params.setName("您的会议名称");params.setEnableMicrophoneForAllUser(true);params.setEnableCameraForAllUser(true);params.setEnableMessageForAllUser(true);params.setEnableSeatControl(false);ConferenceMainFragment fragment = new ConferenceMainFragment();fragment.setConferenceParams(params);setConferenceObserver(fragment);fragment.quickStartConference("您的conferenceId"); //设置完成后再调用开始会议或加入会议的接口,这里以开始会议为例}private void setConferenceObserver(ConferenceMainFragment fragment) {mConferenceObserver = new ConferenceObserver() {@Overridepublic void onConferenceStarted(String conferenceId, ConferenceError error) {super.onConferenceStarted(conferenceId, error);if (error != ConferenceError.SUCCESS) { Log.e(TAG, "Error : " + error); return; } FragmentManager manager = getSupportFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); transaction.add(R.id.conference_owner_container, fragment); transaction.commitAllowingStateLoss();}};fragment.setConferenceObserver(mConferenceObserver);}}
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(); //设置完成后再调用开始会议或加入会议的接口,这里以开始会议为例
以下是对上述代码中参数的详细介绍。
字段 | 类型 | 含义 |
isMuteMicrophone | bool | 是否静音麦克风(默认为 false) |
isOpenCamera | bool | 是否开启摄像头(默认为 false) |
isSoundOnSpeaker | bool | 是否使用扬声器(默认为 true) |
name | String | 会议名称(默认为您的 conferenceId) |
enableMicrophoneForAllUser | bool | 是否开启全员的麦克风权限(默认为 true) |
enableCameraForAllUser | bool | 是否开启全员的摄像头权限(默认为 true) |
enableMessageForAllUser | bool | 是否开启全员的发言权限(默认为 true) |
enableSeatControl | bool | 是否开启上台发言模式(默认为 false) |
注意:
上述是针对上述代码中创建房间并加入房间参数的介绍。如可根据传入 isSeatEnable 参数值的不同来创建自由发言房间和上台发言房间,其中两种两种类型的房间会中控制可操作功能特性也会不同:
自由发言房间:普通用户可以自由进行发言,且自由开关麦克风和摄像头。
上台发言房间:仅台上用户可自由开启或关闭麦克风和摄像头,普通观众可通过举手申请成为台上用户。
会中控制
管理自由发言房间
房间类型为自由发言房间时,房主或管理员可以在成员 > 成员列表中管理会中所有成员。
主持人或管理员可以选中任一成员进行单独管控:对其解除静音/静音、开启视频/关闭视频、设置为管理员、转交主持人、禁言/解除禁言、踢出房间。
主持人或管理员可以对房间内所有成员进行全体管控:全体静音/解除全体静音 或 全体禁画/解除全体禁画。
管理上台发言房间
房间类型为上台发言房间时,房主或管理员除了在成员 > 成员列表中管理会中成员之外,还可以在上台管理中针对选中成员的上台状态进行管理。
主持人或管理员可以选中任一普通成员进行单独管控:除了自由发言房间包含的解除静音/静音、开启视频/关闭视频、禁言/解除禁言、设置为管理员、转交主持人、踢出房间之外,还包含上台发言房间独有的邀请上台和请下台等操作。
主持人或管理员可以对房间内已申请上台的成员进行状态管理:可在上台管理中对选中成员进行同意或拒绝,或对所有进行上台申请成员进行全部同意处理。