Conference
  • 产品概述
  • Web
    • 跑通 Demo
    • 集成
    • UI 定制
    • Conference Control
    • 房间中聊天
    • 云端录制
    • AI 降噪
    • 机器人推流
    • 虚拟背景
    • 更多功能
      • 悬浮窗
      • 文字水印
    • 接口文档
      • RoomKit 接口
      • RoomEngine 接口
        • 接口概述
        • TUIRoomEngine
        • TUIRoomEvents
        • TUIRoomEngine 定义
    • 常见问题
  • iOS
    • 跑通 Demo
    • 集成
    • UI 定制
    • 会议控制
    • 房间中聊天
    • 云端录制
    • AI 降噪
    • 机器人推流
    • 更多功能
      • 悬浮窗
    • 接口文档
      • RoomKit 接口
      • RoomEngine 接口
        • 接口概述
        • TUIRoomEngine
        • TUIRoomObserver
        • 类型定义
    • 常见问题
  • Android
    • 跑通 Demo
    • 集成
    • UI 定制
    • 会议控制
    • 房间中聊天
    • 云端录制
    • AI 降噪
    • 机器人推流
    • 更多功能
      • 悬浮窗
    • 接口文档
      • RoomKit 接口
      • RoomEngine 接口
        • 接口概述
        • TUIRoomEngine
        • TUIRoomObserver
        • 类型定义
    • 常见问题
  • Electron
    • 跑通 Demo
    • 集成
    • UI 定制
    • Conference Control
    • 房间中聊天
    • 云端录制
    • AI 降噪
    • 机器人推流
    • 更多功能
      • 悬浮窗
      • 文字水印
    • 接口文档
      • RoomKit 接口
      • RoomEngine 接口
        • 接口概述
        • TUIRoomEvent
        • TUIRoomEngine
        • TUIRoomEngine 定义
    • 常见问题
  • Flutter
    • 跑通 Demo
    • 集成
    • UI 定制
    • 会议控制
    • In-Conference Chat
    • 云端录制
    • AI 降噪
    • 机器人推流
    • 更多功能
      • 悬浮窗
    • 接口文档
      • RoomKit 接口
      • RoomEngine 接口
        • 接口概述
        • TUIRoomEngine
        • TUIRoomObserver
        • 类型定义
    • 常见问题
  • 产品概述
    • 产品概述
  • 开通服务
  • 价格中心
    • 免费时长
    • TRTC 多人音视频 Conference 包月套餐
    • 订阅套餐时长计费说明
    • 现收现付
      • 音视频时长计费说明
      • 云端录制计费说明
      • 混流转码与旁路转推计费说明
  • 服务器 API
    • REST 接口
      • RESTful 接口概述
      • RESTful 接口列表
      • Room Management
        • Create a Room
        • Destroy a Room
        • Update the Room Information
        • Get the Room Information
      • 用户管理
        • Get the Room Member List
        • Update the Room Member Information
        • Change the Room Ownership
        • Mark Room Members
        • Ban Room Members
        • Unban Room Members
        • Get the Banned Room Member List
        • Remove Room Member
      • Seat Management
        • Get the Seat List
        • Pick User on the Seat
        • Kick User off the Seat
        • Lock the Seat
    • Third-Party Callback
      • Callback Overview
      • Callback Command List
      • Callback Configuration
        • Query Callback Configuration
        • Create Callback Configuration
        • Update Callback Configuration
        • Delete Callback Configuration
      • Room Related
        • After a Room Is Created
        • After a Room Is Destroyed
        • After the Room Information Is Updated
      • User Related
        • After a Room Is Entered
        • After a Room Is Left
      • Seat Connection Related
        • After the Seat List Is Changed
  • 错误码
Conference

会议控制

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

会中控制

管理自由发言房间

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



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




管理上台发言房间

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



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