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:
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 TUIRoomKitfunc quickStartConference() {let vc = ConferenceMainViewController()let params = StartConferenceParams(roomId: "111111") // Please replace "111111" with your defined conference numberparams.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 hereNavigator.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:
ConferenceDefine.JoinConferenceParams params = new ConferenceDefine.JoinConferenceParams("roomId of the room to join");params.isOpenCamera = true; // Turn on the cameraparams.isOpenMicrophone = true; // Turn on the microphoneparams.isOpenSpeaker = true; // Turn on the speakerIntent intent = new Intent(this, ConferenceMainActivity.class);intent.putExtra(KEY_JOIN_CONFERENCE_PARAMS, params);startActivity(intent);
import TUIRoomKitfunc joinConference() {let vc = ConferenceMainViewController()let params = JoinConferenceParams(roomId: "111111") // Please replace "111111" with the meeting ID you want to joinparams.isOpenCamera = true // Turn on the cameraparams.isOpenMicrophone = true // Turn on the microphoneparams.isOpenSpeaker = true // Turn on the speakervc.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 hereNavigator.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.