Android&iOS&Flutter

This document provides a detailed introduction to the conference control aspects of TUIRoomKit, assisting you in better mastering the related feature operations of TUIRoomKit before joining and during the meeting process. Through this document, you can fully utilize the features of TUIRoomKit to achieve high-quality audio and video meetings.If the UI interaction of TUIRoomKit does not meet your product needs, and you have your own interaction and business logic that requires custom implementation of meeting control related interaction features, you can integrate TUIRoomEngineSDK and refer to the relevant calls of Key Code to meet your needs.

Description of the Feature

Android&iOS&Flutter users, after creating and entering a room, the owner or admin can click the Members button on the bottom toolbar. In the pop-up member list at the bottom, they can select any regular member to perform meeting control operations such as requesting to start video/voice calls, setting as admin/owner, muting, or removing from room, as well as apply mute all conference control operations on all members in the room.
Enter conference
Member management
All dute/All disable drawing










Use Instructions

Pre-conference Controls
Create Room
You can configure the room: Enable Microphone/Camera/Speaker, All Mute, All Disable Drawing, Room Password, Room Name, Created Room Type (Free Speech/Request to Speak)
Enter Room
You can configure the room: turn on the microphone/camera/speaker.
In-conference controls
You are the roomowner or the administrator
You can control the room: all mute/prohibit drawing, invite members to the stage or kick them off (stage speaking room), set administrator and transfer ownership, kick members out of the room, turn on or off their cameras/microphones.

Pre-conference Control

When creating and joining a conference, you need to set the relevant conference parameters in advance. Use the features of TUIRoomKit pre-conference control to ensure the meet.
Create room
Enter room






You can create a room and set the join room parameters, completing pre-meeting control, through the following:
Android
iOS
Flutter
ConferenceDefine.StartConferenceParams params = new ConferenceDefine.StartConferenceParams("roomId of the room");
params.isSeatEnabled = false; // true: On-stage speaking conference, false: Free speech conference.
params.password = "password of the room"; // Room password.
params.name = "name of the room"; // Room Name.
params.isOpenCamera = true; // Enable Camera.
params.isOpenMicrophone = true; // Enable Microphone.
params.isOpenSpeaker = true; // Enable Speaker.
params.isCameraDisableForAllUser = false; // Enable All Disable Drawing.
params.isMicrophoneDisableForAllUser = false; // Enable All Mute.
Intent intent = new Intent(this, ConferenceMainActivity.class);
intent.putExtra(KEY_START_CONFERENCE_PARAMS, params);
startActivity(intent);
import TUIRoomKit

func quickStartConference() {
let vc = ConferenceMainViewController()
let params = StartConferenceParams(roomId: "111111") // Please replace "111111" with your defined conference number
params.isSeatEnabled = false // true: stage speaking room, false: free speaking room.
params.password = "12345" // Please replace "12345" with your defined conference password.
params.name = "YourConferenceName" // Please replace "YourConferenceName" with your defined conference name.
params.isOpenCamera = true // Turn on the camera.
params.isOpenMicrophone = true // Turn on the microphone.
params.isOpenSpeaker = true // Turn on the speaker.
params.isCameraDisableForAllUser = true // Enable all disable drawing.
params.isMicrophoneDisableForAllUser = true // Enable All Mute.
vc.setStartConferenceParams(params: params)
navigationController?.pushViewController(vc, animated: true)
}
var conferenceSession = ConferenceSession.newInstance("Your conferenceId")
..isMuteMicrophone = false
..isOpenCamera = false
..isSoundOnSpeaker = true
..name = "Your Meeting Name"
..enableMicrophoneForAllUser = true
..enableCameraForAllUser = true
..enableMessageForAllUser = true
..enableSeatControl = false
..onActionSuccess = () { // Callback for successful operation. You can navigate to the meeting interface here
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ConferenceMainPage(),
),
);
}
..onActionError = (ConferenceError error, String message) {} // Callback for operation failure
..quickStart();
You can join the room and set join room parameters in the following ways to complete pre-conference control:
Android
iOS
Flutter
ConferenceDefine.JoinConferenceParams params = new ConferenceDefine.JoinConferenceParams("roomId of the room to join");
params.isOpenCamera = true; // Turn on the camera
params.isOpenMicrophone = true; // Turn on the microphone
params.isOpenSpeaker = true; // Turn on the speaker
Intent intent = new Intent(this, ConferenceMainActivity.class);
intent.putExtra(KEY_JOIN_CONFERENCE_PARAMS, params);
startActivity(intent);
import TUIRoomKit

func joinConference() {
let vc = ConferenceMainViewController()
let params = JoinConferenceParams(roomId: "111111") // Please replace "111111" with the meeting ID you want to join
params.isOpenCamera = true // Turn on the camera
params.isOpenMicrophone = true // Turn on the microphone
params.isOpenSpeaker = true // Turn on the speaker
vc.setJoinConferenceParams(params: params)
navigationController?.pushViewController(vc, animated: true)
}
var conferenceSession = ConferenceSession.newInstance("Your conferenceId")
..isMuteMicrophone = false
..isOpenCamera = false
..isSoundOnSpeaker = true
..onActionSuccess = () { // Callback for successful operation. You can navigate to the meeting interface here
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ConferenceMainPage(),
),
);
}
..onActionError = (ConferenceError error, String message) {} // Callback for operation failure
..join()
The following is a detailed introduction to the parameters mentioned in the above code.
Field
Type
Meaning
isMuteMicrophone
bool
Whether to mute the microphone (default is false)
isOpenCamera
bool
Whether to turn on the camera (default is false)
isSoundOnSpeaker
bool
Whether to use the speaker (default is true)
password
String
Meeting password (default is empty, not enabled)
name
String
Meeting name (default is your conferenceId)
enableMicrophoneForAllUser
bool
Whether to enable microphone permission for all staff (default is true)
enableCameraForAllUser
bool
Whether to enable camera permission for all staff (default is true)
enableMessageForAllUser
bool
Whether to enable speaking permission for all staff (default is true)
enableSeatControl
bool
Whether to enable podium speech mode (default is false)
Note:
The above is an introduction to the parameters for creating and joining a room in the aforementioned code. You can create a Free Speech conference or On-stage speaking conference by passing different values for the isSeatEnable parameter. The controllable features will also differ between these two types of rooms:
Free Speech conference: Ordinary users can freely speak, and turn the microphone and camera on and off at will.
On-stage speaking confernce: Only users on the podium can freely turn the microphone and camera on or off. Ordinary viewers can become podium users by raising their hand to apply.

In-conference controls

Managing Free Speech conference

When the room type is a Free Speech Room, the homeowner or administrator can manage all in-meeting members in the Member List.
The host or administrator can select any member for individual control: Unmute/Mute, Enable Video/Disable Video, Set as Administrator, Transfer Host, Mute/Lift Mute, Remove from Room.
Member management
Transfer homeowner
Remove from room









The host or administrator can control all members in the room: All Mute/Unmute All or All Disable Drawing/Lift All Bans on Painting.
Mute All
Unmute All







On-stage speaking confernce

When the room type is an On-stage Speaking conference, the homeowner or administrator can manage the in-room members in the Member List as well as manage the selected members' on-stage status in Take the Stage to Manage.
The host or administrator can select any regular member for individual control: in addition to the operations available in Free Speech conference such as Unmute/Mute, Enable Video/Disable Video, Mute/Lift Mute, Set as Administrator, Transfer Host, Remove from Room, it also includes On-stage speaking conference unique operations like Invite to Take the Stage and Please Step Down.
Invite to Take the Stage (Homeowner or Administrator)
Invited room
Kick Someone Off the Stage (Homeowner or Administrator)









The host or administrator can manage the status of members who have applied to take the stage: in Take the Stage to Manage, they can Agree or Reject selected members or Areee to all to process all stage application members.
Regular member apply to take the stage
Homeowner or administrator approves taking the Stage







Key code

If you want to implement the conference control feature from Definition, please refer to TUIRoomEngine SDK: Android,iOS&Mac,Flutter.
Note:
If you have any requirements or feedback, you can contact: info_rtc@tencent.com.