tencent cloud

文档反馈

Android&iOS&Flutter

最后更新时间:2024-05-29 15:08:22
    本文档将详细介绍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 参数值的不同来创建自由发言房间和上台发言房间,其中两种两种类型的房间会中控制可操作功能特性也会不同:
    自由发言房间:普通用户可以自由进行发言,且自由开关麦克风和摄像头。
    上台发言房间:仅台上用户可自由开启或关闭麦克风和摄像头,普通观众可通过举手申请成为台上用户。

    会中控制

    管理自由发言房间

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

    管理上台发言房间

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

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持