Type | Description |
Room type | |
Microphone Mode | |
Media Device Type Inside the Room | |
Role Type Inside the Room | |
Video Quality | |
Audio Quality | |
Video stream type | |
Change Reason (Reason for user audio/video status change: self-initiated or modified by room owner or admin) | |
Screen Sharing Capture Source Type | |
Request Type | |
Resolution Mode (Landscape or Portrait) | |
User Information Modification Type |
Type | Description |
Error Codes | |
Network quality | |
Plugin Type |
Type | Description |
Room Information | |
User log in to Information | |
Inside the Room User Information | |
Seat Information Inside the Room | |
Parameters for Locking the Mic Position | |
User Volume Inside the Room | |
Signaling Request | |
User Operation Callback | |
Video Playback Callback | |
User Request Callback | |
User List Information | |
User Volume Information | |
Callback with Return Value (T) | |
Video Encoder Parameters | |
Room entry parameters |
Type | Description |
Network quality information | |
Message | |
Image information |
Enumeration | Value | Description |
conference | 1 | Meeting Type Room, suitable for meetings and educational contexts. In this room, users can choose different modes such as free speech mode, apply for speech, and speaking on the microphone |
livingRoom | 2 | Live Streaming Type Room, suitable for live streaming scenarios. In this room, users can speak freely, and the room uses a microphone position control mode, where each microphone position has a number |
Enumeration | Value | Description |
freeToTake | 1 | Freely Join Microphone Mode, the audience can freely join the mic without application |
applyToTake | 2 | Apply for Microphone Mode, the audience needs approval from the homeowner or administrator to join the mic |
Enumeration | Value | Description |
microphone | 1 | Microphone |
camera | 2 | Camera |
screen | 3 | Screen Sharing |
Enumeration | Value | Description |
roomOwner | 0 | Homeowner. Generally refers to the creator of the room and the owner of the highest permissions in the room |
administrator | 1 | Room administrator |
generalUser | 2 | Ordinary member in the room |
Enumeration | Value | Description |
videoQuality_360P | 1 | Low-definition 360p |
videoQuality_540P | 2 | Standard Definition 540p |
videoQuality_720P | 3 | HD 720p |
videoQuality_1080P | 4 | Ultra HD 1080p |
Enumeration | Value | Description |
audioProfileSpeech | 0 | Voice Mode |
audioProfileDefault | 1 | Default Mode |
audioProfileMusic | 2 | Music Mode |
Enumeration | Value | Description |
cameraStream | 0 | HD Camera Video Stream |
screenStream | 1 | Screen Share Video Stream |
cameraStreamLow | 2 | Low-definition Camera Video Stream |
Enumeration | Value | Description |
changedBySelf | 0 | User Operation |
changedByAdmin | 1 | Operation by Homeowner or Administrator |
Enumeration | Value | Description |
unknown | -1 | Undefined |
window | 0 | Window |
screen | 1 | Screen |
Enumeration | Value | Description |
invalidAction | 0 | Invalid request |
requestToOpenRemoteCamera | 1 | Request remote user to turn on the camera |
requestToOpenRemoteMicrophone | 2 | Request remote user to turn on the microphone |
requestToConnectOtherRoom | 3 | Request to connect to another room |
requestToTakeSeat | 4 | Request to take the mic |
requestRemoteUserOnSeat | 5 | Request remote user to take the mic |
applyToAdminToOpenLocalCamera | 6 | Request the administrator to turn on the local camera |
applyToAdminToOpenLocalMicrophone | 7 | Request the administrator to turn on the local microphone |
Enumeration | Value | Description |
landscape | 0 | Landscape |
portrait | 1 | Portrait |
Enumeration | Value | Description |
none | 0x00 | Empty, indicating no change |
userRole | 0x01 << 0 | User Role |
nameCard | 0x01 << 1 | Nickname in the Room |
Enumeration | Value | Description |
success | 0 | Operation successful |
errFailed | -1 | A common error not yet classified |
errFreqLimit | -2 | Request was frequency limited, please try again later |
errRepeatOperation | -3 | Duplicate operation, please check if your API call is repeated |
errSDKAppIDNotFound | -1000 | |
errInvalidParameter | -1001 | An invalid parameter was passed in during API calling |
errSdkNotInitialized | -1002 | SDK not initialized |
errPermissionDenied | -1003 | No operational permissions |
errRequirePayment | -1004 | This feature requires an additional package |
errCameraStartFailed | -1100 | Failed to turn on the camera |
errCameraNotAuthorized | -1101 | Camera not authorized |
errCameraOccupy | -1102 | Camera is being used |
errCameraDeviceEmpty | -1103 | No camera device available |
errMicrophoneStartFailed | -1104 | Failed to open microphone |
errMicrophoneNotAuthorized | -1105 | Microphone not authorized |
errMicrophoneOccupy | -1106 | Microphone is occupied |
errMicrophoneDeviceEmpty | -1107 | No microphone device available |
errGetScreenSharingTargetFailed | -1108 | Failed to get screen sharing objects |
errStartScreenSharingFailed | -1109 | Failed to enable screen sharing |
errRoomIdNotExist | -2100 | The room does not exist when entering, it may have been dissolved |
errOperationInvalidBeforeEnterRoom | -2101 | You need to enter the room to use this feature |
errExitNotSupportedForRoomOwner | -2102 | Homeowner cannot perform check-out procedure, Conference room type: transfer homeowner first, then check out. LivingRoom room type: homeowner can only dissolve the room |
errOperationNotSupportedInCurrentRoomType | -2103 | This operation is not supported under the current room type |
errRoomIdInvalid | -2105 | Illegal Room ID creation, Custom ID must be printable ASCII characters (0x20-0x7e), up to 48 bytes |
errRoomIdOccupied | -2106 | Room ID is already in use, please choose another room ID |
errRoomNameInvalid | -2107 | Invalid room name, the maximum length is 30 bytes, character encoding must be UTF-8, if it includes Chinese characters |
errAlreadyInOtherRoom | -2108 | The current user is already in another room and needs to check out before joining a new room A single RoomEngine instance only supports a user entering one room. To enter a different room, please check out or use a new RoomEngine instance |
errUserNotExist | -2200 | The user does not exist. |
errUserNotEntered | -2201 | User is not in the current room |
errUserNeedOwnerPermission | -2300 | Homeowner privileges are required to operate |
errUserNeedAdminPermission | -2301 | Homeowner or administrator privileges are required to operate |
errRequestNoPermission | -2310 | No permission for signaling request, such as canceling an invitation not initiated by yourself |
errRequestIdInvalid | -2311 | Signaling request ID is invalid or has already been processed |
errMaxSeatCountLimit | -2340 | Maximum microphone position limit exceeds the package quota |
errAlreadyInSeat | -2341 | The current user is already on the microphone position |
errSeatOccupied | -2342 | The current microphone position is already occupied |
errSeatLocked | -2343 | The current microphone position is locked |
errSeatIndexNotExist | -2344 | Microphone position number does not exist |
errUserNotInSeat | -2345 | The current user is not on the microphone |
errAllSeatOccupied | -2346 | The number of users on the microphone is full |
errOpenMicrophoneNeedSeatUnlock | -2360 | The current microphone position is locked for audio |
errOpenMicrophoneNeedPermissionFromAdmin | -2361 | You need to request permission from the homeowner or administrator to use the microphone |
errOpenCameraNeedSeatUnlock | -2370 | The current microphone position is locked for video, it needs to be unlocked by the homeowner to use the camera |
errOpenCameraNeedPermissionFromAdmin | -2371 | You need to request permission from the homeowner or administrator to use the camera |
errSendMessageDisabledForAll | -2380 | All members are muted in the current room |
errSendMessageDisabledForCurrent | -2381 | You are muted in the current room |
Enumeration | Value | Description |
qualityUnknown | 0 | Undefined |
qualityExcellent | 1 | The present network is exceedingly good |
qualityGood | 2 | The current network is fairly good |
qualityPoor | 3 | Current network is average |
qualityBad | 4 | Current network is poor |
qualityVeryBad | 5 | Current network is very poor |
qualityDown | 6 | Current network does not meet the minimum requirements of TRTC |
Field | Type | Description |
roomId | String | Room ID |
roomType | Room type | |
ownerId | String | Host ID. Defaults to the room creator (read-only) |
name | String | Room Name. Defaults to Room ID |
isSeatEnabled | bool | Whether to enable microphone position control |
seatMode | Microphone Mode (effective only when microphone position control is enabled) | |
createTime | int | Room Creation Time (read-only) |
memberCount | int | Number of members in the room (read-only) |
maxSeatCount | int | Maximum number of microphones (can only be set before entering the room or when creating the room) |
isCameraDisableForAllUser | bool | Whether to disable the camera (optional parameter when creating a room). Default value: false |
isMicrophoneDisableForAllUser | bool | Whether to disable the microphone (optional parameter when creating a room). Default value: false |
isMessageDisableForAllUser | bool | Whether to disable 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, used in live rooms). Default value: false |
cdnStreamDomain | String | Live streaming push domain name (optional parameter when creating a room, used in live rooms). Default value: empty |
password | String | Room password |
Field | Type | Meaning |
userId | String | User ID |
userName | String | Username |
avatarUrl | String | User profile photo URL |
customInfo | Map<String, String> | Customized Information |
Field | Type | Description |
userId | String | User ID |
userName | String | Username |
nameCard | String | Nickname in the Room |
avatarUrl | String | User profile photo URL |
userRole | 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 |
customInfo | Map<String, String>? | Room member custom information |
isMessageDisabled | bool | Whether muted |
Field | Type | Description |
index | int | Mic seat serial number |
userId | String | User ID |
userName | String | Username |
nameCard | String | Nickname in the Room |
avatarUrl | String | User profile photo URL |
isLocked | bool | Whether the microphone position is locked. Default value: false |
isVideoLocked | bool | Whether the microphone position is prohibited from opening the camera. Default value: false |
isAudioLocked | bool | Whether the microphone position is prohibited from opening the microphone. Default value: false |
userName | String | User Nickname |
avatarUrl | String | User profile photo URL |
Field | Type | Meaning |
lockSeat | bool | Lock microphone position. Default is false |
lockVideo | bool | Lock microphone position camera. Default is false |
lockAudio | bool | Lock microphone position microphone. Default is false |
Field | Type | Description |
userId | String | User ID |
volume | int | Volume. Used to carry the volume size of all speaking users, value range 0-100 |
Field | Type | Description |
requestId | String | Request ID |
requestAction | Request Type | |
userId | String | User ID |
userName | String | Username |
nameCard | String | Nickname in the Room |
avatarUrl | String | User profile photo URL |
content | String | Signaling content |
timestamp | int | Timestamp |
userName | String | User Nickname |
avatarUrl | String | User profile photo URL |
Field | Type | Description |
code | Error Codes | |
message | String? | Error Message |
Field | Type | Description |
onPlaying | (String userId) {} | Playing callback |
onLoading | (String userId) {} | Loading callback |
onPlayError | (String userId, TUIError code, String message) {} | Playback error callback |
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 canceled callback |
onTimeout | (String requestId, String userId) {} | Request timeout callback |
onError | (String requestId, String userId, TUIError error, String message) {} | Request error callback |
Field | Type | Description |
nextSequence | int | Pagination retrieval flag. If the returned nextSequence is not zero, use the returned nextSequence to retrieve again until it returns zero |
userInfoList | List<TUIUserInfo> | List of users returned by this call |
Field | Type | Description |
userId | String | User ID |
volume | int | User Volume Level |
Field | Type | Description |
code | Error Codes | |
message | String? | Error Message |
data | T? | Return data, example: If T is TUIUserInfo, the data field type of TUIValueCallBack<TUIUserInfo> is TUIUserInfo |
Field | Type | Description |
videoResolution | TUIVideoQuality | Video Quality |
resolutionMode | TUIResolutionMode | Resolution Mode |
fps | int | Video Capture Frame Rate |
bitrate | int | Target Video Bitrate |
Field | Type | Description |
password | String | Room password |
Field | Type | Description |
userId | String | User ID |
quality | Network quality | |
upLoss | int | Upstream packet loss rate |
downLoss | int | Downstream packet loss rate |
delay | int | Network Latency |
Enumeration | Value | Description |
deviceManager | 1 | TUIRoomDeviceManager type |
liveListManger | 2 | TUIRLiveListManager type |
conferenceListManager | 3 | TUIConferenceListManager type |
Field | Type | Description |
messageId | String | Message ID |
message | String | Message text |
timestamp | int | Message timestamp |
userId | String | Message sender |
userName | String | Nickname of the message sender |
avatarUrl | String | Profile photo of the message sender |
Field | Type | Description |
buffer | String | Image data cache address |
length | int | Length |
width | int | Width |
height | int | Height |
Was this page helpful?