TUIRoomEvents
TUIRoomEvents is the event interface of the audio and video call component.
Event list
EVENT | Description |
error event | |
kick out of room event | |
User Disconnected Event | |
userSig expired event | |
Host destroy room event | |
Room name change event | |
Room speech mode modification event This event is deprecated since version 2.0.0 This event is deleted since version 2.5.0 | |
Microphone mode change event | |
Number of users in room change event | |
Camera usage permission change event for all members | |
Microphone usage permission change event for all members | |
Message sending status change event for all members | |
Maximum microphone slots in room change event | |
Remote user enters room event | |
Remote user exits room event | |
User information change event | |
User role change event (deprecated since v2.5.0) | |
User video status change event | |
User audio status change event | |
User message sending status event | |
User volume change event | |
User network quality change event | |
Microphone position list change event | |
User kicked off seat event | |
Request received event | |
Request processed event | |
Request cancellation event | |
Receive text message event, this API is deprecated since version v2.0.0 | |
Receive custom messages event, this API is deprecated since version v2.0.0 | |
device change event | |
screen sharing stop event When a user ends screen sharing using the browser's built-in stop sharing button, that user will receive the onUserScreenCaptureStopped event to modify the screen sharing status. | |
Screen sharing disabled event for all users in the room. This API is supported since v2.2.0. | |
Video autoplay failure event | |
room metadata change event |
onError
error event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onError, (error) => {console.log('TUIRoomError error', error);})
The parameters are listed in the table below:
Parameter | Type | Description |
code | number | Error Code |
message | string | Error Message |
onKickedOutOfRoom
kick out of room event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onKickedOutOfRoom, ({ roomId, reason, message }) => {console.log('roomEngine.onKickedOutOfRoom', roomId, message);});
The parameters are listed in the table below:
Parameter | Type | Description |
roomId | string | room number |
reason | TUIKickedOutOfRoomReason | Reason for user being kicked out of room |
message | string | kick out of room info |
onKickedOffLine
User Disconnected Event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onKickedOffLine, ({ message }) => {console.log('roomEngine.onKickedOffLine', message);});
The parameters are listed in the table below:
Parameter | Type | Description |
roomId | string | room number |
message | string | User login information on other devices |
onUserSigExpired
userSig expired event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserSigExpired, () => {console.log('roomEngine.onUserSigExpired');});
onRoomDismissed
Host destroy room event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRoomDismissed, ({ roomId }) => {console.log('roomEngine.onRoomDismissed', roomId);});
The parameters are listed in the table below:
Parameter | Type | Description |
roomId | string | room number |
onRoomNameChanged
Room name change event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRoomNameChanged, ({ roomId, roomName }) => {console.log('roomEngine.onRoomNameChanged', roomId, roomName);});
The parameters are listed in the table below:
Parameter | Type | Description |
roomId | string | room number |
roomName | string | room name |
onRoomSpeechModeChanged
Room schema modification event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRoomSpeechModeChanged, ({ roomId, speechMode }) => {console.log('roomEngine.onRoomSpeechModeChanged', roomId, speechMode);});
The parameters are listed in the table below:
Parameter | Type | Description |
roomId | string | room number |
speechMode | TUISpeechMode | speech mode |
Note:
Note: this API is deprecated since version v2.0.0; deleted since version v2.5.0.
onRoomSeatModeChanged
Microphone mode change event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRoomSeatModeChanged, ({ roomId, seatMode }) => {console.log('roomEngine.onRoomSeatModeChanged', roomId, seatMode);});
The parameters are listed in the table below:
Parameter | Type | Description |
roomId | string | room number |
seatMode | TUISeatMode | Room microphone mode |
onRoomUserCountChanged
Number of users in room change event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRoomUserCountChanged, ({ roomId, userCount }) =>{console.log('roomEngine.onRoomUserCountChanged', roomId, userCount);});
The parameters are listed in the table below:
Parameter | Type | Description |
roomId | string | room number |
userCount | number | number of users |
onAllUserCameraDisableChanged
Camera usage permission change event for all members
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onAllUserCameraDisableChanged, ({ isDisable }) => {console.log('roomEngine.onAllUserCameraDisableChanged', isDisable);});
The parameters are listed in the table below:
Parameter | Type | Description |
isDisabled | boolean | Camera allowed or not |
onAllUserMicrophoneDisableChanged
Microphone usage permission change event for all members
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onAllUserMicrophoneDisableChanged, ({ isDisable }) => {console.log('roomEngine.onAllUserMicrophoneDisableChanged', isDisable);});
The parameters are listed in the table below:
Parameter | Type | Description |
isDisabled | boolean | Whether microphone use is allowed |
onSendMessageForAllUserDisableChanged
Message sending status change event for all members
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onSendMessageForAllUserDisableChanged, ({ isDisable }) => {console.log('roomEngine.onSendMessageForAllUserDisableChanged', isDisable);});
The parameters are listed in the table below:
Parameter | Type | Description |
isDisable | boolean | Whether sending text messages is allowed |
onRoomMaxSeatCountChanged
Maximum microphone slots in room change event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRoomMaxSeatCountChanged, ({ maxSeatNumber }) => {console.log('roomEngine.onRoomMaxSeatCountChanged', maxSeatNumber);});
The parameters are listed in the table below:
Parameter | Type | Description |
maxSeatNumber | number | Maximum number of microphones |
onRemoteUserEnterRoom
Remote user enters room event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRemoteUserEnterRoom, ({ roomId, userInfo }) => {console.log('roomEngine.onRemoteUserEnterRoom', roomId, userInfo);});
The parameters are listed in the table below:
Parameter | Type | Description |
roomId | string | room number |
userInfo | TUIUserInfo | User information |
onRemoteUserLeaveRoom
Remote user exits room event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRemoteUserLeaveRoom, ({ roomId, userInfo }) => {console.log('roomEngine.onRemoteUserLeaveRoom', roomId, userInfo);});
The parameters are listed in the table below:
Parameter | Type | Description |
roomId | string | room number |
userInfo | TUIUserInfo | User information |
onUserInfoChanged
User information change event in the room
Note:
Note: This API is supported since v2.5.0.
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserInfoChanged, ({ userInfo }) => {console.log('roomEngine.onUserInfoChanged', userInfo);});
The parameters are listed in the table below:
Parameter | Type | Description |
userInfo | TUIUserInfo | User information after changing |
onUserRoleChanged
User role change event
Note:
Note: This API is deprecated since version v2.5.0. Please use the 'onUserInfoChanged' event.
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserRoleChanged, ({ userId, userRole }) => {console.log('roomEngine.onUserRoleChanged', userId, userRole);});
The parameters are listed in the table below:
Parameter | Type | Description |
userId | string | User ID |
userRole | TUIRole | User role after change |
onUserVideoStateChanged
User video status change event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserVideoStateChanged, ({ userId, streamType, hasVideo, reason }) => {console.log('roomEngine.onUserVideoStateChanged', userId, streamType, hasVideo, reason);});
The parameters are listed in the table below:
Parameter | Type | Description |
userId | string | User ID |
streamType | TUIVideoStreamType | User Type |
hasVideo | boolean | Whether there is a video stream |
reason | TUIChangeReason | Reason for change Self perform / Host perform |
onUserAudioStateChanged
User audio status change event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserAudioStateChanged, ({ userId, hasAudio, reason }) => {console.log('roomEngine.onUserAudioStateChanged', userId, hasAudio, reason);});
The parameters are listed in the table below:
Parameter | Type | Description |
userId | string | User ID |
hasVideo | boolean | Whether there is an audio stream |
reason | TUIChangeReason | Reason for change, Self perform / Host perform |
onSendMessageForUserDisableChanged
Camera usage permission modify event for members
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onSendMessageForAllUserDisableChanged, ({ isDisable }) => {console.log('roomEngine.onSendMessageForAllUserDisableChanged', isDisable);});
The parameters are listed in the table below:
Parameter | Type | Description |
isDisable | boolean | Whether sending text messages is allowed |
onUserVoiceVolumeChanged
User volume change event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserVoiceVolumeChanged, ({ userVolumeList }) => {userVolumeList.forEach(userVolume => {console.log('roomEngine.onUserVoiceVolumeChanged', userVolume.userId, userVolume.volume);})});
The parameters are listed in the table below:
Parameter | Type | Description |
userVolumeList | Array.<object> | The volume of all users in the room, including userId and volume info, with a volume interval of 1–100. |
onUserNetworkQualityChanged
User network quality change event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserNetworkQualityChanged, ({ userNetworkList }) => {userNetworkList.forEach(userNetwork => {console.log('roomEngine.onUserNetworkQualityChanged', userNetwork.userId, userNetwork.quality, userNetwork.upLoss, userNetwork.downLoss, userNetwork.delay);})});
The parameters are listed in the table below:
Parameter | Type | Description |
userNetworkList | Array.<TUINetwork> | Network quality information list |
onSeatListChanged
Microphone position list change event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onSeatListChanged, ({ seatList, seatedList, leftList }) => {console.log('roomEngine.onSeatListChanged',seatList, seatedList, leftList);});
The parameters are listed in the table below:
Parameter | Type | Description |
seatList | Array.<TUISeatInfo> | microphone position list |
seatedList | Array.<TUISeatInfo> | Newly-added microphone position information |
leftList | Array.<TUISeatInfo> | Exiting microphone position information |
onKickedOffSeat
Microphone position list change event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onKickedOffSeat, ({ userId }) => {console.log('roomEngine.onKickedOffSeat', userId);});
The parameters are listed in the table below:
Parameter | Type | Description |
userId | String | User ID kicked off the mic |
onRequestReceived
Request received event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRequestReceived, ({ request }) => {console.log('roomEngine.onRequestReceived', request);});
The parameters are listed in the table below:
Parameter | Type | Description |
request | TUIRequest | Request received |
onRequestProcessed
Request processed event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRequestProcessed, ({ request }) => {console.log('roomEngine.onRequestProcessed', request);});
The parameters are listed in the table below:
Parameter | Type | Description |
request | TUIRequest | Request received |
onRequestCancelled
Request cancellation event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRequestCancelled, ({ requestId, userId }) => {console.log('roomEngine.onRequestCancelled', requestId, userId);});
The parameters are listed in the table below:
Parameter | Type | Description |
requestId | string | Request ID. |
userId | string | User ID for cancel request |
onReceiveTextMessage
receive text message event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onReceiveTextMessage, ({ roomId, message }) => {console.log('roomEngine.onReceiveTextMessage', roomId, message);});
The parameters are listed in the table below:
Parameter | Type | Description |
roomId | string | room ID |
message | TUIMessage | Receives a text message. |
Note:
This API is deprecated since version v2.0.0, please use TIM Instance to listen to message events.
onReceiveCustomMessage
Receive Custom Messages Event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onReceiveCustomMessage, ({ roomId, message }) => {console.log('roomEngine.onReceiveCustomMessage', roomId, message);});
The parameters are listed in the table below:
Parameter | Type | Description |
roomId | string | room ID |
message | TUIMessage | Receive Custom Messages |
Note:
This API is deprecated since version v2.0.0, please use TIM Instance to listen to message events.
onDeviceChange
device change event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onDeviceChange, ({ deviceId, type, state }) => {console.log('roomEngine.onDeviceChange', deviceId, type, state);});
The parameters are listed in the table below:
Parameter | Type | Description |
deviceId | string | Device ID |
type | TRTCDeviceType | Device Type |
state | TRTCDeviceState | Device change status |
onUserScreenCaptureStopped
Screen sharing stop event. When a user ends screen sharing using the browser's built-in stop sharing button, that user will receive the
onUserScreenCaptureStopped event to modify the screen sharing status.const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserScreenCaptureStopped, () => {console.log('roomEngine.onUserScreenCaptureStopped', deviceId, type, state);});
onScreenShareForAllUserDisableChanged
Screen sharing disabled event for all users in the room
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onScreenShareForAllUserDisableChanged, ({ isDisable }) => {console.log('roomEngine.onScreenShareForAllUserDisableChanged', isDisable);});
onAutoPlayFailed
Video autoplay failure event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onAutoPlayFailed, ({userId, resume}) => {console.log('roomEngine.onAutoPlayFailed', userId, resume);});
onRoomMetadataChanged
room metadata change event
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRoomMetadataChanged, ({key, value}) => {console.log('TUIRoomEvents.onRoomMetadataChanged', key, value);});