tencent cloud

Feedback

Conference Control (TUIRoomKit)

Last updated: 2024-04-12 11:20:53
    This document will provide a detailed introduction to the pre-conference control, in-conference control, and other aspects of TUIRoomKit to help you better master the conference control features of TUIRoomKit. Through this document, you will be able to fully utilize the functions of TUIRoomKit to achieve high-quality audio and video conferences.

    Pre-conference Control

    Before entering the conference, you can use the pre-conference control features of TUIRoomKit to set the relevant parameters of the conference in advance, ensuring the smooth progress of the conference.
    
    
    
    iOS (Swift)
    Android(Java)
    Flutter (Dart)
    // CreateRoomViewController for your own ViewController
    class CreateConferenceViewController: UIViewController {
    private var conferenceViewController: ConferenceMainViewController?
    func quickStartConferenceAction() {
    conferenceViewController = ConferenceMainViewController()
    // Implement the pre-conference control features by setting the parameters in ConferenceParams.
    let params = ConferenceParams()
    params.isMuteMicrophone = false
    params.isOpenCamera = false
    params.isSoundOnSpeaker = true
    params.name = "your conference name"
    params.enableMicrophoneForAllUser = true
    params.enableCameraForAllUser = true
    params.enableMessageForAllUser = true
    params.enableSeatControl = false
    conferenceViewController?.setConferenceParams(params: params)
    conferenceViewController?.setConferenceObserver(observer: self)
    // After completing the settings, call the interface to start or join a conference. Here, we take starting a conference as an example.
    conferenceViewController?.quickStartConference(conferenceId: "your 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); // Implement the pre-conference control features by setting the parameters in ConferenceParams.
    ConferenceParams params = new ConferenceParams();
    params.setMuteMicrophone(false);
    params.setOpenCamera(false);
    params.setSoundOnSpeaker(true); params.setName("your conference name");
    params.setEnableMicrophoneForAllUser(true);
    params.setEnableCameraForAllUser(true);
    params.setEnableMessageForAllUser(true);
    params.setEnableSeatControl(false);
    ConferenceMainFragment fragment = new ConferenceMainFragment();
    fragment.setConferenceParams(params);
    setConferenceObserver(fragment);
    fragment.quickStartConference("your conferenceId"); // After completing the settings, call the interface to start or join a conference. Here, we take starting a conference as an example.
    }
    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("your conferenceId")
    ..isMuteMicrophone = false
    ..isOpenCamera = false
    ..isSoundOnSpeaker = true
    ..name = "your conference name"
    ..enableMicrophoneForAllUser = true
    ..enableCameraForAllUser = true
    ..enableMessageForAllUser = true
    ..enableSeatControl = false
    ..onActionSuccess = () { // Successful operation callback, you can navigate to the conference page here.
    Navigator.push(
    context,
    MaterialPageRoute(
    builder: (context) => ConferenceMainPage(),
    ),
    );
    }
    ..onActionError = (ConferenceError error, String message) {} // Failure operation callback
    ..quickStart(); // After completing the settings, call the interface to start or join a conference. Here, we take starting a conference as an example.
    Here is a detailed introduction to the parameters in the above code.
    Parameter
    Type
    Meaning
    isMuteMicrophone
    bool
    Whether to mute the microphone (default is false)
    isOpenCamera
    bool
    Whether to open the camera (default is false)
    isSoundOnSpeaker
    bool
    Whether to turn on the speakers (default is true)
    name
    String
    conference name (default is your conferenceId)
    enableMicrophoneForAllUser
    bool
    Whether to enable microphone permission for all members (default is true)
    enableCameraForAllUser
    bool
    Whether to enable camera permission for all members (default is true)
    enableMessageForAllUser
    bool
    Whether to enable message permission for all members (default is true)
    enableSeatControl
    bool
    Whether to enable on-stage speaking mode (default is false)

    In-conference Control

    During a conference, you may need to control the conference at any time to meet the needs of different scenarios. TUIRoomKit provides a wealth of in-conference control functions, allowing you to easily handle various conference situations. Through this section, you will intuitively understand how to effectively control the conference during the conference.
    When you are the host or administrator, click the member button in the lower left corner to open the member list for related conference control, as shown in the second picture from the below. In the member list, click on the user you need to operate, and the interface shown in the first picture on the right will appear.
    
    
    
    
    
    
    
    In the on-stage speaking mode, click on the user you need to operate in the member list, and the interface that appears is as shown in the first picture on the left below. Click the Stage Management button on the conference bottom toolbar to open the stage management interface, as shown in the first picture on the right below.
    
    
    
    
    
    
    
    Function
    Corresponding interface (Android as an example)
    Disable/Enable video for all
    Turn off/Request to turn on user's audio/video
    Transfer host
    Set/Cancel administrator
    Disable/enable message for user
    Kick out of the room
    Invite to stage/Ask to step down
    Agree/Reject user's stage application
    
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support