Join Tencent RTC at NAB Show 2024 in Las Vegas!
Learn more 
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 
Join Tencent RTC at NAB Show 2024 in Las Vegas!
Learn more 
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

Type Definition

Enumeration Definition

TUIRoomDefine

Type
Description
Room Type
Mic Control Mode
Room Media Device Type
TUIRole
Room Role Type
Video Quality
Audio Quality
Video Stream Type
Change Reason (User audio and video status change operation reason: self-modification or modified by room owner/administrator)
Screen Sharing Capture Source Type
Request Type
Video resolution mode (landscape or portrait)

TUICommonDefine

Type
Description
TUIError
Error Code
Network Quality

Common Structure

TUIRoomDefine

Type
Description
Room data
User Login Information
Room User Information
Room Seat Information
Lock Seat Operation Parameters
Room User Volume
Signaling Request
User Operation Callback
Video Playback Callback
User Request Callback
User List Information
User Volume Information
With Return Value (T) Callback
Video encoder params

TUICommonDefine

Type
Description
Network Quality Information
Message
Image Info

TUIRoomType

Room Type
Enumeration
Value
Description
conference
1
Conference Type Room, suitable for conference and education scenarios, this room can enable free speech, apply for speech, go live and other modes.
livingRoom
2
Live Type Room, suitable for live broadcast scenarios, this room can enable free speech, mic control mode, and the seats in this room are numbered.


TUISpeechMode


Mic Control Mode
Enumeration
Value
Description
freeToSpeak
1
Free speech mode
applyToSpeak
2
Apply to speak mode. (Only effective in conference type room)
applySpeakAfterTakingSeat
3
Go Live mode
Explanation:
The relationship between Room Type, Mic Control Mode, and Going Live (takeSeat)
Room Type
Mic Control Mode
freeToSpeak
applyToSpeak
applySpeakAfterTakingSeat
conference
Not Supported
Not Supported
Need to Apply to the Host/Admin (takeSeat), Can Speak with Mic/Camera After Approval
livingRoom
Can Freely Go Live
Not Supported
Need to Apply to the Host/Admin (takeSeat), Can Speak with Mic/Camera After Approval


TUIMediaDevice

Room Media Device Type
Enumeration
Value
Description
microphone
1
Mic
camera
2
Camera
screen
3
Screen Sharing

TUIRole

Room Role Types
Enumeration
Value
Description
roomOwner
0
Room Owner. Generally refers to the creator of the room, the highest authority holder in the room
administrator
1
Room Administrator
generalUser
2
General Member in the room

TUIVideoQuality

Video Quality
Enumeration
Value
Description
videoQuality_360P
1
Low Definition 360P
videoQuality_540P
2
Standard Definition 540P
videoQuality_720P
3
High Definition 720P
videoQuality_1080P
4
Ultra Definition 1080P

TUIAudioQuality

Audio Quality
Enumeration
Value
Description
audioProfileSpeech
0
Vocal Mode
audioProfileDefault
1
Default Mode
audioProfileMusic
2
Music Mode

TUIVideoStreamType

Video Stream Types
Enumeration
Value
Description
cameraStream
0
HD Camera Video Stream
screenStream
1
Screen Sharing Video Stream
cameraStreamLow
2
Low Definition Camera Video Stream

TUIChangeReason

Change Reason (User audio and video status change operation reason: self-initiated modification or modified by room owner/administrator)
Enumeration
Value
Description
changedBySelf
0
Self-operation
changedByAdmin
1
Room Owner or Administrator operation

TUICaptureSourceType

Screen Sharing Capture Source Type
Enumeration
Value
Description
unknown
-1
Undefined
window
0
Window
screen
1
Screen

TUIRequestAction

Request Type
Enumeration
Value
Description
invalidAction
0
Invalid request
requestToOpenRemoteCamera
1
Request remote user to open the camera
requestToOpenRemoteMicrophone
2
Request remote user to open the microphone
requestToConnectOtherRoom
3
Request to connect to another room
requestToTakeSeat
4
Request to go live
requestRemoteUserOnSeat
5
Request remote user to go live
applyToAdminToOpenLocalCamera
6
Request to the administrator to open the local camera
applyToAdminToOpenLocalMicrophone
7
Request to the administrator to open the local microphone

TUIResolutionMode

Video resolution mode (landscape or portrait)
Enumeration
Value
Description
landscape
0
landscape
portrait
1
portrait

TUIError

Error Code
Enumeration
Value
Description
success
0
Operation Successful
errFailed
-1
Temporarily Unclassified General Error
errFreqLimit
-2
Request Limited, Please Try Again Later
errRepeatOperation
-3
Repeated operation, please check whether your interface call is repeated
errSDKAppIDNotFound
-1000
SDKAppID Not Found, Please Confirm Application Info in TRTC Console
errInvalidParameter
-1001
Illegal Input Parameters When Calling API
errSdkNotInitialized
-1002
SDK Not Initialized
errPermissionDenied
-1003
No Operation Permission
errRequirePayment
-1004
Need to Open Extra Package for This Feature
errCameraStartFailed
-1100
Failed to Open Camera
errCameraNotAuthorized
-1101
Camera Not Authorized
errCameraOccupy
-1102
Camera Occupied
errCameraDeviceEmpty
-1103
No Camera Device Currently
errMicrophoneStartFailed
-1104
Microphone Opening Failed
errMicrophoneNotAuthorized
-1105
Microphone Not Authorized
errMicrophoneOccupy
-1106
Microphone Occupied
errMicrophoneDeviceEmpty
-1107
No Microphone Device Currently
errGetScreenSharingTargetFailed
-1108
Failed to Get Screen Sharing Target
errStartScreenSharingFailed
-1109
Failed to Start Screen Sharing
errRoomIdNotExist
-2100
Room Does Not Exist When Entering, or Maybe Closed
errOperationInvalidBeforeEnterRoom
-2101
Need to Enter the Room Before Using This Feature
errExitNotSupportedForRoomOwner
-2102
Room Owner Does Not Support Exit Operation, Conference Room Type: You can transfer the room owner first, then exit the room. LivingRoom Room Type: The room owner can only close the room
errOperationNotSupportedInCurrentRoomType
-2103
This Operation is Not Supported in the Current Room Type
errOperationNotSupportedInCurrentSpeechMode
-2104
This Operation is Not Supported in the Current Speech Mode
errRoomIdInvalid
-2105
Illegal Room ID Creation, Custom ID Must Be Printable ASCII Characters (0x20-0x7e), Up to 48 Bytes
errRoomIdOccupied
-2106
Room ID Already in Use, Please Choose Another Room ID
errRoomNameInvalid
-2107
Illegal Room Name, The Name Must Be Up to 30 Bytes, The Character Encoding Must Be UTF-8, If It Contains Chinese
errAlreadyInOtherRoom
-2108
The Current User is Already in Another Room, You Need to Exit the Room First to Join a New Room.
A single roomEngine instance only supports the user entering one room. If you want to enter a different room, please exit the room first or use a new roomEngine instance
errUserNotExist
-2200
User Does Not Exist
errUserNotEntered
-2201
User is Not in the Current Room
errUserNeedOwnerPermission
-2300
Room Owner Permission Required for Operation
errUserNeedAdminPermission
-2301
Room Owner or Administrator Permission Required for Operation
errRequestNoPermission
-2310
No Permission for Signaling Request, For Example, Canceling an Invitation Not Initiated by Yourself
errRequestIdInvalid
-2311
Invalid Signaling Request ID or Already Processed
errMaxSeatCountLimit
-2340
Maximum Seat Exceeds Package Quantity Limit
errAlreadyInSeat
-2341
Current User is Already on the Seat
errSeatOccupied
-2342
The Current Seat is Already Occupied
errSeatLocked
-2343
The Current Seat is Locked
errSeatIndexNotExist
-2344
Seat Number Does Not Exist
errUserNotInSeat
-2345
Current User is Not on the Mic
errAllSeatOccupied
-2346
The Number of People on the Mic is Full
errOpenMicrophoneNeedSeatUnlock
-2360
The Current Seat Audio is Locked
errOpenMicrophoneNeedPermissionFromAdmin
-2361
Need to Apply to the Room Owner or Administrator to Open the Microphone
errOpenCameraNeedSeatUnlock
-2370
The Current Seat Video is Locked, The Room Owner Needs to Unlock the Seat Before Opening the Camera
errOpenCameraNeedPermissionFromAdmin
-2371
Need to Apply to the Room Owner or Administrator to Open the Camera
errSendMessageDisabledForAll
-2380
The Current Room Has Enabled Mute for All
errSendMessageDisabledForCurrent
-2381
In the Current Room, You Have Been Muted

TUINetworkQuality

Network Quality
Enumeration
Value
Description
qualityUnknown
0
Undefined
qualityExcellent
1
The Current Network is Very Good
qualityGood
2
The Current Network is Good
qualityPoor
3
The Current Network is Average
qualityBad
4
The Current Network is Poor
qualityVeryBad
5
The Current Network is Very Poor
qualityDown
6
The Current Network Does Not Meet the Minimum Requirements of TRTC

TUIRoomInfo

Room data
Field
Type
Description
roomId
String
Room ID
roomType
Room Type
ownerId
String
Host ID, Default is Room Creator (Read Only)
name
String
Room Name, Default is Room ID
speechMode
Room Speech Mode
createTime
int
Room Creation Time (Read Only)
memberCount
int
Number of Members in the Room (Read Only)
maxSeatCount
int
Maximum Seat Quantity (Only Supported When Entering the Room and Creating the Room)
isCameraDisableForAllUser
bool
Whether to Prohibit Opening the Camera (Optional Parameter When Creating a Room). Default Value: false
isMicrophoneDisableForAllUser
bool
Whether to Prohibit Opening the Microphone (Optional Parameter When Creating a Room). Default Value: false
isMessageDisableForAllUser
bool
Whether to Prohibit Sending Messages (Optional Parameter When Creating a Room). Default Value: false
enableCDNStreaming
bool
Whether to Enable CDN Live Streaming (Optional Parameter When Creating a Room, for Live Room Use). Default Value: false
cdnStreamDomain
String
Live Streaming Push Domain (Optional Parameter When Creating a Room, for Live Room Use). Default Value: Empty

TUILoginUserInfo

User Login Info
Field
Type
Meaning
userId
String
User ID
userName
String
User Name
avatarUrl
String
User Avatar URL
customInfo
Map<String, String>
Custom Information

TUIUserInfo

User Information in the Room
Field
Type
Description
userId
String
User ID
userName
String
User Name
avatarUrl
String
User Avatar URL
userRole
TUIRole
User Role Type
hasAudioStream
bool
Whether There is an Audio Stream. Default Value: false
hasVideoStream
bool
Whether There is a Video Stream. Default Value: false
hasScreenStream
bool
Whether There is a Screen Sharing Stream. Default Value: false

TUISeatInfo

Seat Information in the Room
Field
Type
Description
index
int
Seat Number
userId
String
User ID
isLocked
bool
Whether the Seat is Locked. Default Value: false
isVideoLocked
bool
Whether the Seat is Prohibited from Opening the Camera. Default Value: false
isAudioLocked
bool
Whether the Seat is Prohibited from Opening the Microphone. Default Value: false

TUISeatLockParams

Lock Seat Operation Parameters
Field
Type
Meaning
lockSeat
bool
Lock Seat. Default Value: false
lockVideo
bool
Lock Seat Camera. Default Value: false
lockAudio
bool
Lock Seat Microphone. Default Value: false

TUIUserVoiceVolume

User Volume in the Room
Field
Type
Description
userId
String
User ID
volume
int
Volume. Used to Carry the Volume of All Speaking Users, Value Range 0 - 100

TUIRequest

Signaling Request
Field
Type
Description
requestId
String
Request ID
requestAction
Request Type
userId
String
User ID
content
String
Signaling Content
timestamp
int
Timestamp

TUIActionCallback

Field
Type
Description
code
TUIError
Error Code
message
String?
Error Information

TUIPlayCallback

Field
Type
Description
onPlaying
(String userId) {}
Playing Callback
onLoading
(String userId) {}
Loading Callback
onPlayError
(String userId, TUIError code, String message) {}
Playback Error Callback

TUIRequestCallback

Field
Type
Description
onAccepted
(String requestId, String userId) {}
Request Accepted Callback
onRejected
(String requestId, String userId, String message) {}
Request Rejected Callback
onCancelled
(String requestId, String userId) {}
Request Cancelled Callback
onTimeout
(String requestId, String userId) {}
Request Timeout Callback
onError
(String requestId, String userId, TUIError error, String message) {}
Request Error Callback

TUIUserListResult

Field
Type
Description
nextSequence
int
Pagination Fetch Flag, if the returned nextSequence is not zero, you need to use the returned nextSequence to fetch again until it returns 0
userInfoList
List<TUIUserInfo>
The user list returned by this call

TUIUserVoiceVolume

Field
Type
Description
userId
String
User ID
volume
int
User Volume Size

TUIValueCallBack<T>

Field
Type
Description
code
TUIError
Error Code
message
String?
Error Message
data
T?
Return Data, example: if T is TUIUserInfo, then the data field type of TUIValueCallBack<TUIUserInfo> is TUIUserInfo

TUIRoomVideoEncoderParams

Video encoder params
Field
Type
Description
videoResolution
Video resolution
resolutionMode
Video resolution mode
fps
int
Video capturing frame rate
bitrate
int
Target video bitrate

TUINetwork

Network Quality Information
Field
Type
Description
userId
String
User ID
quality
Network Quality
upLoss
int
Packet Loss Rate for Upstream
downLoss
int
Packet Loss Rate for Downstream
delay
int
Network Delay

TUIMessage

Message
Field
Type
Description
messageId
String
Message ID
message
String
Message Text
timestamp
int
Message Timestamp
userId
String
Message Sender
userName
String
Message Sender Nickname
avatarUrl
String
Message Sender Avatar

TUIImageBuffer

Image Info
Field
Type
Description
buffer
String
Image Data Cache Address
length
int
Length
width
int
Width
height
int
Height