TUIRoomEngine Defines
Introduce key type definition of TUIRoomEngine web.
Enumeration Value
TUIRole
User role. TUIRoomEngine offers three user roles: host, admin, and general user.
Field | Type | Description |
kRoomOwner | number | host role |
kAdministrator | number | admin role |
kGeneralUser | number | general user role |
TUIVideoQuality
video resolution
Field | Type | Description |
kVideoQuality_360p | number | 360p SD, resolution 640x360 |
kVideoQuality_540p | number | 540p HD, resolution 960x540 |
kVideoQuality_720p | number | 720p HD, resolution 1280x720 |
kVideoQuality_1080p | number | 1080p UHD, resolution 1920x1080 |
TUIResolutionMode
Resolution mode (Landscape resolution | Portrait resolution)
Field | Type | Description |
kResolutionMode_Landscape | number | landscape mode |
kResolutionMode_Portrait | number | portrait mode |
TUIAudioQuality
audio resolution
Field | Type | Description |
kAudioProfileSpeech | number | audio mode |
kAudioProfileDefault | number | Standard Mode (Default Mode) |
kAudioProfileMusic | number | Music Mode |
TUIVideoStreamType
Video stream type
Field | Type | Description |
kCameraStream | number | camera stream |
kScreenStream | number | screen sharing video stream |
kCameraStreamLow | number | low-definition camera video stream |
TUINetworkQuality
Network Status
Field | Type | Description |
kQualityUnknown | number | Network condition unknown |
kQualityExcellent | number | Excellent network condition |
kQualityGood | number | Better network condition |
kQualityPoor | number | Normal network condition |
kQualityBad | number | Poor network condition |
kQualityVeryBad | number | Poor network condition |
kQualityDown | number | Connection lost |
TUIRoomType
Room type
Field | Type | Description |
kConference | number | kConference type room, suitable for meetings and education scenarios |
kLive | number | kLive type room, suitable for live-streaming scenarios |
TUISpeechMode
Type of speech
Field | Type | Description |
kFreeToSpeak | number | free speaking mode |
kApplyToSpeak | number | raise hand speaking mode |
kSpeakAfterTakingSeat | number | Speak after sitting (grab microphone position) |
Note:
This type is deprecated since version 2.0.0.
TUISeatMode
Microphone mode
Field | Type | Description |
kFreeToTake | number | Free speaking mode, audience can join the podium freely without applying |
kApplyToTake | number | Apply for microphone mode, audience must obtain consent from the room owner or admin before becoming speakers. |
TUIChangeReason
Reason for change (user audio/video status change operation: proactive modification or modified by room owner/admin)
Field | Type | Description |
kChangedBySelf | number | operate |
kChangedByAdmin | number | Operated by the host or administrator |
TUIMediaDevice
Field | Type | Description |
kMicrophone | number | microphone |
kCamera | number | Camera |
kScreen | number | Screen Sharing |
TUIRequestAction
Room type
Field | Type | Description |
kInvalidAction | number | invalid operation |
kRequestToOpenRemoteCamera | number | Request remote to turn on the camera |
kRequestToOpenRemoteMicrophone | number | Request remote to turn on the microphone |
kRequestToConnectOtherRoom | number | Request remote cross-room co-streaming, not supported on Web |
kRequestToTakeSeat | number | Request to go live |
kRequestRemoteUserOnSeat | number | Request remote to go live |
kApplyToAdminToOpenLocalCamera | number | Request admin to turn on local camera |
kApplyToAdminToOpenLocalMicrophone | number | Request admin to turn on local microphone |
kApplyToAdminToOpenLocalScreenShare | number | Request admin to turn on screen sharing |
TUIRequestCallbackType
Request Type
Field | Type | Description |
kRequestAccepted | number | Peer accepted |
kRequestRejected | number | Rejected by the peer |
kRequestCancelled | number | Request canceled |
kRequestTimeout | number | Request timeout |
kRequestError | number | Request error |
TUIKickedOutOfRoomReason
Reason for user being kicked out of room
Field | Type | Description |
kKickedByAdmin | number | Kicked out by the host or administrator |
kKickedByLoggedOnOtherDevice | number | User with the same userId enters the same room and gets kicked out |
kKickedByServer | number | Kicked out by the server |
Type Definition
TUILoginUserInfo
Currently logged in user information
Name | Type | Description |
userId | string | User ID of the logged in user |
userName | string | User name of the logged in user |
avatarUrl | string | Avatar of the logged in user |
customInfo | object | Custom profile of the logged in user, supported since v1.3.0 |
TUIRoomInfo
Room information. User can use roomEngine.fetchRoomInfo to obtain room information.
Name | Type | Description |
roomId | string | room number string room number |
roomName | string | room name |
roomType | TUIRoomType | Room type |
isSeatEnabled | boolean | Whether microphone position control is enabled (optional parameter for createRoom, default value is false) |
seatMode | TUISeatMode | Room microphone mode (takes effect after microphone position control is enabled, default value is TUISeatMode.kFreeToTake) |
isMicrophoneDisableForAllUser | boolean | Whether mute all is enabled (optional parameter for createRoom, default value is false) |
isCameraDisableForAllUser | boolean | Whether camera disable for all is enabled (optional parameter for createRoom, default value is false) |
isMessageDisableForAllUser | boolean | Whether to allow all users to send messages (optional parameter for createRoom, default value is false) |
isScreenShareDisableForAllUser | boolean | Whether to prohibit screen sharing (optional parameter for createRoom, this property is supported since version 2.2.0, default value is false) |
maxSeatCount | number | Maximum number of microphones, default is 6 |
roomOwner | string | Room host read-only |
createTime | number | Room creation time, read-only, accurate to the second |
roomMemberCount | number | Number of room members, read-only |
TUIUserInfo
User information
Name | Type | Description |
userId | string | User ID |
userName | string | Username |
nameCard | string | Username in the room |
avatarUrl | string | User Avatar Address |
userRole | TUIRole | User Role |
hasAudioStream | boolean | Whether there is an audio stream |
hasVideoStream | boolean | Whether there is a video stream |
hasScreenStream | boolean | Whether there is a screen sharing stream |
isMessageDisabled | boolean | Whether message sending is prohibited |
roomCustomInfo | object | User-defined room fields, supported since v1.3.0 |
TUIMessage
Message information
Name | Type | Description |
messageId | string | Message ID |
message | string | Message content |
timestamp | number | Timestamp information, accurate to the second |
userId | string | User ID |
userName | string | Username |
avatarUrl | string | User Avatar Address |
TUIRequest
Request Information
Name | Type | Description |
requestAction | TUIRequestAction | Request Type |
timestamp | number | Request initiation time |
requestId | string | Request ID. v1.0.2 and later versions requestId type is string. v1.0.0 and v1.0.1 versions requestId type is number. |
userId | string | User ID of the request initiator |
userName | string | Username of the request initiator |
nameCard | string | Username of the request initiator in the room |
avatarUrl | string | User Avatar Address of the request initiator |
content | string | other content |
TUIRequestCallback
Request callback message
Name | Type | Description |
requestCallbackType | TUIRequestCallbackType | Request callback type, accept/reject/cancel/timeout/error |
requestId | string | Request ID. v1.0.2 and later versions requestId type is string. v1.0.0 and v1.0.1 versions requestId type is number. |
userId | string | User ID |
code | number | Request response code |
message | string | Request status supplemental description |
TUISeatInfo
seat information
Name | Type | Description |
index | number | serial number |
userId | string | seat user ID |
userName | string | username of the seat |
nameCard | string | username in the room |
avatarUrl | string | User Avatar Address of the seat |
locked | boolean | Check if the seat is locked |
videoMuted | boolean | Check if video is forbidden for the current seat |
audioMuted | boolean | Check if audio is forbidden for the current seat |
TUISeatLockParams
Microphone lock status
Name | Type | Description |
lockSeat | boolean | Lock a seat |
lockVideo | boolean | Seat locking video |
lockAudio | boolean | Seat locking audio |
TUINetwork
Network information
Name | Type | Description |
userId | string | User ID |
quality | TUINetworkQuality | Network Quality |
upLoss | number | Uplink packet loss rate, measurement unit (%). A smaller value is better. Currently, only local users have this information. |
downLoss | number | Downstream packet loss rate, measurement unit (%). A smaller value is better. Currently, only local users have this information. |
delay | number | Network delay, measurement unit ms. Currently, only local users have this information. |
TUIVideoEncoderParams
video encoding parameter
Name | Type | Description |
videoResolution | TUIVideoQuality | Video resolution, this field was changed to videoResolution from quality in version 1.6.0 |
fps | number | video frame rate |
bitrate | number | video bitrate |
resolutionMode | TUIResolutionMode | portrait/landscape mode |
quality | TUIVideoQuality | Uplink video resolution |
TUIEnterRoomOptions
Available room entering parameters.
Name | Type | Description |
password | string | Room password, empty by default, means no password |
TUIRenderMode
Rendering mode
Name | Type | Description |
kRenderModeFill | string | The video content fills the entire content box of the element while maintaining its aspect ratio. If the object's aspect ratio does not match the content box, the object will be cropped to adapt to the content box. |
kRenderModeFit | string | The video content will be scaled to maintain its aspect ratio while filling the element's content box. The entire object retains its aspect ratio while filling the box. If the aspect ratio does not match the box, black borders will be added. |
TUICaptureSourceType
Screen sharing type
Name | Type | Description |
kWindow | number | The sharing target is one Windows or Mac window |
kScreen | number | The sharing target is the entire Windows desktop or Mac desktop |
TRTCRole
TRTC role type
Name | Type | Description |
kAnchor | number | The user has a streamer role. |
kAudience | number | The user has an audience role. |
TUIRoomDismissedReason
Reason for room dissolution
Name | Type | Description |
kByOwner | number | The room was dismissed by the owner. |
kByServer | number | The room was dismissed by the backend service. |