有奖:语音产品征文挑战赛火热进行中> HOT
本文档将详细介绍TUIRoomKit会议控制方面的内容,帮助您更好地掌握TUIRoomKit在进会前及会议过程中的相关功能操作。通过本文档,您能够充分利用TUIRoomKit的功能,实现高质量的音视频会议。

Android&iOS&Flutter端用户创建并进入房间后,房主或管理员角色通过点击底部工具栏成员按钮,在底部弹出的成员列表中既可以选中任一普通成员进行禁言、设为管理员等会控操作,也可以对房间内所有成员进行全体静音等会控操作。




会前控制

在创建并加入会议时,您需要预先设定会议的相关参数,通过TUIRoomKit会前控制的相关功能,确保会议顺利进行。



iOS (Swift)
Android(Java)
Flutter (Dart)
// CreateRoomViewController 为您自己的 ViewController
class CreateConferenceViewController: UIViewController {
private var conferenceViewController: ConferenceMainViewController?
func quickStartConferenceAction() {
conferenceViewController = ConferenceMainViewController()
// 通过设置ConferenceParams中的参数来实现会前控制的相关功能
let params = ConferenceParams()
params.isMuteMicrophone = false
params.isOpenCamera = false
params.isSoundOnSpeaker = true
params.name = "您的会议名称"
params.enableMicrophoneForAllUser = true
params.enableCameraForAllUser = true
params.enableMessageForAllUser = true
params.enableSeatControl = false
conferenceViewController?.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;
@Override
protected 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() {
@Override
public 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 参数值的不同来创建自由发言房间和上台发言房间,其中两种两种类型的房间会中控制可操作功能特性也会不同:
自由发言房间:普通用户可以自由进行发言,且自由开关麦克风和摄像头。
上台发言房间:仅台上用户可自由开启或关闭麦克风和摄像头,普通观众可通过举手申请成为台上用户。

会中控制

管理自由发言房间

房间类型为自由发言房间时,房主或管理员可以在成员 > 成员列表中管理会中所有成员。
主持人或管理员可以选中任一成员进行单独管控:对其解除静音/静音、开启视频/关闭视频、设置为管理员、转交主持人、禁言/解除禁言、踢出房间



主持人或管理员可以对房间内所有成员进行全体管控:全体静音/解除全体静音 全体禁画/解除全体禁画




管理上台发言房间

房间类型为上台发言房间时,房主或管理员除了在成员 > 成员列表中管理会中成员之外,还可以在上台管理中针对选中成员的上台状态进行管理。
主持人或管理员可以选中任一普通成员进行单独管控:除了自由发言房间包含的解除静音/静音、开启视频/关闭视频、禁言/解除禁言、设置为管理员、转交主持人、踢出房间之外,还包含上台发言房间独有的邀请上台请下台等操作。



主持人或管理员可以对房间内已申请上台的成员进行状态管理:可在上台管理中对选中成员进行同意拒绝,或对所有进行上台申请成员进行全部同意处理