Only  $9.9! Get 50,000 minutes with our Starter Plan, perfect for your MVP project.
Only $9.9! Get 50,000 minutes with our Starter Plan, perfect for your MVP project.
Grab It Now 
Conference
Overview
  • Web
    • Integration
    • UI Customization
    • In-Conference Chat
    • Cloud Recording
    • API Documentation
      • API Overview
      • TUIRoomKit
      • TUIRoomEngine
      • TUIRoomEvents
      • TUIRoomEngine Defines
    • FAQs
  • iOS
    • Integration
    • UI Customization
    • Conference Control
    • In-Conference Chat
    • Cloud Recording
    • API Documentation
      • API Overview
      • TUIRoomKit
      • TUIRoomEngine
      • TUIRoomObserver
      • Type Definition
    • FAQs
  • Android
    • Integration
    • UI Customization
    • Conference Control
    • In-Conference Chat
    • Cloud Recording
    • API Documentation
      • API Overview
      • TUIRoomKit
      • TUIRoomEngine
      • TUIRoomObserver
      • Type Definition
    • FAQs
  • Electron
    • Integration
    • UI Customization
    • In-Conference Chat
    • Cloud Recording
    • API Documentation
      • API Overview
      • TUIRoomKit
      • TUIRoomEngine
      • TUIRoomEvent
      • TUIRoomEngine Defines
    • FAQs
  • Windows
    • Integration
    • UI Customization
    • Cloud Recording
    • API Documentation
      • API Overview
      • TUIRoomEngine
      • TUIRoomObserver
      • Type Definition
  • Flutter
    • Integration
    • UI Customization
    • Conference Control
    • Cloud Recording
    • API Documentation
      • API Overview
      • TUIRoomEngine
      • TUIRoomObserver
      • Type Definition
    • FAQs
  • Overview
    • Overview
  • Activate the Service
  • Pricing
    • TRTC Conference Monthly Packages
    • Pay-As-You-Go
    • Free Minutes
  • Error Code
Conference

TUIRoomEngine

TUIRoomEngine API Introduction

TUIRoomEngine API is a No UI Interface for Conference Component, you can use this API to custom encapsulate according to your business needs.

createTUIRoomEngine

Create TUIRoomEngine Instance
tuikit::TUIRoomEngine* createTUIRoomEngine();

destroyTUIRoomEngine

Destroy TUIRoomEngine Instance
void destroyTUIRoomEngine(tuikit::TUIRoomEngine* roomEngine);
Parameter
Type
Meaning
roomEngine
tuikit::TUIRoomEngine*
TUIRoomEngine Instance Pointer, this pointer can only be obtained through the CreateTUIRoomEngine Interface.

login

Login interface, you need to initialize user information before entering the room and perform a series of operations.
static void login(int sdkAppId, const char* userId, const char* userSig, TUICallback* callback);
The parameters are as follows:
Parameter
Type
Meaning
sdkAppId
int
SDKAppID of Tencent Cloud communication application
userId
const char*
User ID for Differentiate different users
userSig
const char*
UserSig for Tencent Cloud flow authentication
callback
TUICallback*
API Callback for notifying the success or failure of the interface call

logout

Logout interface, there will be actively leave the room operation, destroy resources.
static void logout(TUICallback* callback);

setSelfInfo

Set local user name and avatar.
static void SetSelfInfo(const char* userName, const char* avatarUrl, TUICallback* callback);
The parameters are as follows:
Parameter
Type
Meaning
userName
const char*
User Name
avatarUrl
const char*
User avatar URL address
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

getSelfInfo

Get the basic information of the local user login.
static TUILoginUserInfo GetSelfInfo();

addObserver

Add TUIRoomEngine Event Callback.
virtual void AddObserver(TUIRoomObserver* observer) = 0;
The parameters are as follows:
Parameter
Type
Meaning
observer
TUIRoomObserver*
Callback Instance Pointer, you can get various event notifications (such as: Error Code, Remote User Enter Room, Audio and Video Status Parameters, etc.) through TUIRoomObserver.

removeObserver

Remove TUIRoomEngine Event Callback.
virtual void removeObserver(TUIRoomObserver* observer) = 0;
The parameters are as follows:
Parameter
Type
Meaning
observer
TUIRoomObserver*
TUIRoomEngine Event Callback

createRoom

Create room.
virtual void createRoom(const TUIRoomInfo& roomInfo, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
roomInfo
const TUIRoomInfo&
Room data
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

destroyRoom

Destroy Room.
virtual void destroyRoom(TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

enterRoom

Entered room.
virtual void enterRoom(const char* roomId, TUIValueCallback<TUIRoomInfo>* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
roomId
const char*
Room ID
callback
TUIValueCallback<TUIRoomInfo>*
Get the entered Room data Callback

exitRoom

Exit Room.
virtual void exitRoom(bool syncWaiting, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
syncWaiting
bool
Whether to synchronize leaving the room
callback
TUICallback*
Leave Room Result Callback

connectOtherRoom

Connect to other rooms.
virtual TUIRequest connectOtherRoom(const char* roomId, const char* userId, int timeout, TUIRequestCallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
roomId
const char*
Room ID
userId
const char*
User ID
timeout
int
Time
callback
TUIRequestCallback*
Callback of API, used to Notify the Success or Failure of the API call

disConnectOtherRoom

Disconnect from other rooms
virtual void disConnectOtherRoom(TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

fetchRoomInfo

Get Room data.
virtual void fetchRoomInfo(TUIValueCallback<TUIRoomInfo>* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
callback
TUIValueCallback<TUIRoomInfo>*
Callback of API, used to Notify the Success or Failure of the API call

updateRoomNameByAdmin

Update Room ID
virtual void updateRoomNameByAdmin(const char* roomName, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
roomName
const char*
Room ID
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

updateRoomSpeechModeByAdmin

Set Management mode.
virtual void updateRoomSpeechModeByAdmin(TUISpeechMode mode, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
mode
TUISpeechMode
Management mode
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

setLocalVideoView

Set Local user Video Rendering View control
virtual void setLocalVideoView(TUIVideoStreamType streamType, const TUIVideoView& view) = 0;
The parameters are as follows:
Parameter
Type
Meaning
streamType
TUIVideoStreamType
Local streams type
view
const TUIVideoView&
To be rendered view, Video Rendering on this view

openLocalCamera

Open Local Camera, Start Video Capturing.
virtual void openLocalCamera(bool isFront, TUIVideoQuality quality, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
isFront
bool
Is it a front Camera (Invalid on Windows)
quality
TUIVideoQuality
Video Quality
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

closeLocalCamera

Close Local Camera.
virtual void closeLocalCamera() = 0;

updateVideoQuality

Set Local Video Parameter.
virtual void updateVideoQuality(TUIVideoQuality quality) = 0;
The parameters are as follows:
Parameter
Type
Meaning
quality
TUIVideoQuality
Video Quality

startScreenSharing

Start Screen sharing.
virtual void startScreenSharing(const TUISourceId& sourceId, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
sourceId
const TUISourceId&
Handle of the Screen Sharing window or screen, which can be obtained by calling GetScreenSharingTargetList
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

stopScreenSharing

Stop Screen sharing.
virtual void stopScreenSharing() = 0;

getScreenSharingTargetList

Get Sharing Object List.
virtual void getScreenSharingTargetList(TUIListCallback<TUIShareTarget>* list) = 0;
The parameters are as follows:
Parameter
Type
Meaning
list
TUIListCallback<TUIShareTarget>*
Callback of API, used to Notify the Success or Failure of the API call

selectScreenSharingTarget

Select Screen Sharing Target.
virtual void selectScreenSharingTarget(const TUISourceId& sourceId) = 0;
The parameters are as follows:
Parameter
Type
Meaning
sourceId
const TUISourceId&
Screen Sharing window or screen handle, can call GetScreenSharingTargetList to get.

startPushLocalVideo

Start Pushing Local Video.
virtual void startPushLocalVideo() = 0;

stopPushLocalVideo

Stop Pushing Local Video.
virtual void stopPushLocalVideo() = 0;

openLocalMicrophone

Open Local mic.
virtual void openLocalMicrophone(TUIAudioQuality quality, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
quality
TUIAudioQuality
Audio Quality
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

closeLocalMicrophone

Close Local mic.
virtual void closeLocalMicrophone() = 0;

updateAudioQuality

Update Local Audio Codec Quality setting.
virtual void updateAudioQuality(TUIAudioQuality quality) = 0;
The parameters are as follows:
Parameter
Type
Meaning
quality
TUIAudioQuality
Audio Quality

startPushLocalAudio

Start Pushing Local Audio.
virtual void startPushLocalAudio() = 0;

stopPushLocalAudio

Stop Pushing Local Audio.
virtual void stopPushLocalAudio() = 0;

setRemoteVideoView

Set Remote user Video Rendering View control.
virtual void setRemoteVideoView(const char* userId, TUIVideoStreamType streamType, const TUIVideoView& view) = 0;
The parameters are as follows:
Parameter
Type
Meaning
userId
const char*
Remote User ID
streamType
TUIVideoStreamType
Stream Type
view
const TUIVideoView&
const TUIVideoView&
Rendering Window Handle

startPlayRemoteVideo

Start Playback Remote user Video streams
virtual void startPlayRemoteVideo(const char* userId, TUIVideoStreamType streamType, TUIPlayCallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
userId
const char*
User ID
streamType
TUIVideoStreamType
User streams type
callback
TUIPlayCallback*
Callback of API, used to Notify the Success or Failure of the API call

stopPlayRemoteVideo

Stop Playback Remote user Video streams.
virtual void stopPlayRemoteVideo(const char* userId, TUIVideoStreamType streamType) = 0;
The parameters are as follows:
Parameter
Type
Meaning
userId
const char*
User ID
streamType
TUIVideoStreamType
User streams type

muteRemoteAudioStream

Mute Remote user
virtual void muteRemoteAudioStream(const char* userId, bool isMute) = 0;
The parameters are as follows:
Parameter
Type
Meaning
userId
const char*
User ID
isMute
bool
Whether to mute

getUserList

Get current User list in the room,.
virtual void getUserList(uint64_t nextSequence, TUIValueCallback<TUIUserListResult>* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
nextSequence
uint64_t
Pagination Fetch Flag, fill in 0 for the first Fetch, if the nextSeq in the Callback is not 0, you need to do Pagination, pass in the nextSeq to Fetch again until the nextSeq in the Callback is 0
callback
TUIValueCallback<TUIUserListResult>*
Callback of API, used to Notify the Success or Failure of the API call

getUserInfo

Get User Learn more.
virtual void getUserInfo(const char* userId, TUIValueCallback<TUIUserInfo>* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
userId
const char*
User ID
callback
TUIValueCallback<TUIUserInfo>*
Callback of API, used to Notify the Success or Failure of the API call

changeUserRole

Change user Role, only Administrator or Group owner can call
virtual void changeUserRole(const char* userId, TUIRole role, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
userId
const char*
User ID
role
TUIRole
User Role
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

kickRemoteUserOutOfRoom

Kick user out of the room.
virtual void kickRemoteUserOutOfRoom(const char* userId, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
userId
const char*
User ID
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

disableDeviceForAllUserByAdmin

Control the permission status of whether all users in the current room can open Audio and Video streams capturing devices, such as: Prohibit All from turning on the mic, Prohibit All from turning on the Camera, Prohibit All from turning on Screen Sharing
(Currently only available in Meeting Scenario, and only Administrator or Group Owner can invoke).
virtual void disableDeviceForAllUserByAdmin(TUIMediaDevice device, bool isDisable, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
device
TUIMediaDevice
Device
isDisable
bool
Whether to Disable
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

openRemoteDeviceByAdmin

Request remote users to open media devices
(Currently only available in the conference scene, and only administrators or group owners can call).
virtual TUIRequest openRemoteDeviceByAdmin(const char* userId, TUIMediaDevice device, int timeout, TUIRequestCallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
userId
const char*
User ID
device
TUIMediaDevice
Device
timeout
int
Timeout in seconds, if set to 0, SDK will not do timeout detection and will not trigger timeout Callback
callback
TUIRequestCallback*
Callback of API, used to Notify the Success or Failure of the API call

closeRemoteDeviceByAdmin

Close remote users' media devices
(Currently only available in the conference scene, and only administrators or group owners can call).
virtual void closeRemoteDeviceByAdmin(const char* userId, TUIMediaDevice device, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
userId
const char*
User ID
device
TUIMediaDevice
Device
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

applyToAdminToOpenLocalDevice

Request to open local media devices
(Currently only available in the conference scene, and only ordinary members can call).
virtual TUIRequest applyToAdminToOpenLocalDevice(TUIMediaDevice device, int timeout, TUIRequestCallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
device
TUIMediaDevice
Device
timeout
int
Timeout in seconds, if set to 0, SDK will not do timeout detection and will not trigger timeout Callback
callback
TUIRequestCallback*
Callback of API, used to Notify the Success or Failure of the API call

setMaxSeatCount

Set Maximum number of seats, only supported when entering the room and creating the room
When roomType is RoomType.CONFERENCE (Education and Conference scene), maxSeatCount value is not limited;
When roomType is RoomType.LIVE_ROOM (Live broadcast scene), maxSeatCount is limited to 16;
virtual void setMaxSeatCount(uint32_t maxSeatCount, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
maxSeatCount
uint32_t
Maximum number of seats
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

getSeatList

Get seat list
virtual void getSeatList(TUIListCallback<TUISeatInfo>* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
callback
TUIListCallback<TUISeatInfo>*
Callback of API, used to Notify the Success or Failure of the API call

lockSeatByAdmin

Lock seat.
virtual void lockSeatByAdmin(int seatIndex, const TUISeatLockParams& lockParams, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
seatIndex
int
Seat number
lockParams
TUISeatLockParams
Lock microphone parameter
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

takeSeat

Get seat list.
virtual TUIRequest takeSeat(int seatIndex, int timeout, TUIRequestCallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
seatIndex
int
Seat number
timeout
int
Timeout in seconds, if set to 0, SDK will not do timeout detection and will not trigger timeout Callback
callback
TUIRequestCallback*
Callback of API, used to Notify the Success or Failure of the API call

leaveSeat

Local off microphone.
virtual void leaveSeat(TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

takeUserOnSeatByAdmin

Host/Administrator Invite User on microphone.
virtual TUIRequest takeUserOnSeatByAdmin(int seatIndex, const char* userId, int timeout, TUIRequestCallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
seatIndex
int
Seat number
userId
const char*
User ID
timeout
int
Timeout in seconds, if set to 0, SDK will not do timeout detection and will not trigger timeout Callback
callback
TUIRequestCallback*
Callback of API, used to Notify the Success or Failure of the API call

kickUserOffSeatByAdmin

Host/Administrator Take User off microphone.
virtual void kickUserOffSeatByAdmin(int seatIndex, const char* userId, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
seatIndex
int
Seat number
userId
const char*
User ID
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

sendTextMessage

Send Text message.
virtual void sendTextMessage(const char* message, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
message
const char*
Text message Content
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

sendCustomMessage

Send Custom message.
virtual void sendCustomMessage(const char* message, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
message
const char*
Custom message Content
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

disableSendingMessageByAdmin

Disable Remote user's Text message sending Ability (only Administrator or Group owner can call).
virtual void disableSendingMessageByAdmin(const char* userId, bool isDisable, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
userId
const char*
User ID
isDisable
bool
Whether to Disable
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

disableSendingMessageForAllUser

Disable all users' Text message sending Ability (only Administrator or Group owner can call)
virtual void disableSendingMessageForAllUser(bool isDisable, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
isDisable
bool
Whether to Disable
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

cancelRequest

Cancel sent Request.
virtual void cancelRequest(const char* requestId, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
requestId
const char*
Request ID
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

responseRemoteRequest

Reply to Remote user's Request.
virtual void responseRemoteRequest(const char* requestId, bool agree, TUICallback* callback) = 0;
The parameters are as follows:
Parameter
Type
Meaning
requestId
const char*
Request ID
agree
bool
Whether to agree
callback
TUICallback*
Callback of API, used to Notify the Success or Failure of the API call

getTRTCCloud

Get TRTCCloud Instance.
virtual void* getTRTCCloud() = 0;

getDeviceManager

Get deviceManager.
virtual liteav::ITXDeviceManager* getDeviceManager() = 0;

getAudioEffectManager

Get Audio management.
virtual liteav::ITXAudioEffectManager* getAudioEffectManager() = 0;