TUIRoomEngineObserver

TUIRoomEngine event callback

onError

Triggered when an error event occurs, indicating that the SDK encounters an irrecoverable error, such as a failure of entering a room or a device startup failure.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnError onError = (TUIError errorCode, String message) {}
Parameters
Type
Description
errorCode
TUIError
Error Codes onLiveRoomInfoChanged
message
String
Error Message

onKickedOffLine

Triggered when the user is kicked offline.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnKickedOffLine onKickedOffLine = (String message) {}
Parameters
Type
Description
message
String
Description of removed from service

onUserSigExpired

userSig expiration event, triggered when the user's credential expires.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnUserSigExpired onUserSigExpired = () {}

onRoomNameChanged

Triggered when the room name changes.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnRoomNameChanged onRoomNameChanged = (String roomId, String roomName) {}
Parameters
Type
Description
roomId
String
Room ID
roomName
String
Room Name


onAllUserMicrophoneDisableChanged


Triggered when the microphone disable status of all users changes.
Note:
This function is only applicable to conference room type (conference).
OnAllUserMicrophoneDisableChanged onAllUserMicrophoneDisableChanged = (String roomId, bool isDisable) {}
Parameters
Type
Description
roomId
String
Room ID
isDisable
bool
Whether disabled or not


onAllUserCameraDisableChanged


Triggered when the camera disable status of all users changes.
Note:
This function is only applicable to conference room type (conference).
OnAllUserCameraDisableChanged onAllUserCameraDisableChanged = (String roomId, bool isDisable) {}
Parameters
Type
Description
roomId
String
Room ID
isDisable
bool
Whether disabled or not


onSendMessageForAllUserDisableChanged


Triggered when the message sending permission of all users changes.
Note:
This function is only applicable to conference room type (conference).
OnSendMessageForAllUserDisableChanged onSendMessageForAllUserDisableChanged = (String roomId, bool isDisable) {}
Parameters
Type
Description
roomId
String
Room ID
isDisable
bool
Whether disabled or not

onScreenShareForAllUserDisableChanged

Triggered when the screen sharing permissions of all users change.
Note:
This function is only applicable to conference room type (conference).
OnScreenShareForAllUserDisableChanged onScreenShareForAllUserDisableChanged =(String roomId, bool isDisable) {}
Parameters
Type
Description
roomId
String
Room ID
isDisable
bool
Whether disabled or not

onRoomDismissed

Triggered when the room is dissolved.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnRoomDismissed onRoomDismissed = (String roomId, TUIRoomDismissedReason reason) {}
Parameters
Type
Description
roomId
String
Room ID
reason
TUIRoomDismissedReason
Dissolution reason

onKickedOutOfRoom

Triggered when the user is kicked out of the room by the host/administrator.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnKickedOutOfRoom onKickedOutOfRoom = (String roomId, String message) {}
Parameters
Type
Description
roomId
String
Room ID
message
String
Description of removed from room

onRoomSeatModeChanged

Triggered when the microphone mode of the room changes.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnRoomSeatModeChanged onRoomSeatModeChanged =(String roomId, TUISeatMode seatMode) {}
Parameters
Type
Description
roomId
String
Room ID
seatMode
Microphone Mode

onRoomUserCountChanged

Triggered when the number of people in the room changes.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnRoomUserCountChanged onRoomUserCountChanged =(String roomId, int userCount) {};
Parameters
Type
Description
roomId
String
Room ID
userCount
int
Room Occupancy

onRemoteUserEnterRoom

Triggered when a remote user enters the room.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnRemoteUserEnterRoom onRemoteUserEnterRoom = (String roomId, TUIUserInfo userInfo) {}
Parameters
Type
Description
roomId
String
Room ID
userInfo
User Information

onRemoteUserLeaveRoom

Triggered when a remote user leaves the room.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnRemoteUserLeaveRoom onRemoteUserLeaveRoom = (String roomId, TUIUserInfo userInfo) {}
Parameters
Type
Description
roomId
String
Room ID
userInfo
User Information

onUserInfoChanged

Triggered when user information in the room changes.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnUserInfoChanged onUserInfoChanged = (TUIUserInfo userInfo, List<TUIUserInfoModifyFlag> modifyFlagList) {};
Parameters
Type
Description
userInfo
TUIUserInfo
User Information
modifyFlagList
List<TUIUserInfoModifyFlag>
TUIUserInfo change flag list

onUserVideoStateChanged

Triggered when the user's video status changes.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnUserVideoStateChanged onUserVideoStateChanged = (String userId, TUIVideoStreamType streamType, bool hasVideo, TUIChangeReason reason) {}
Parameters
Type
Description
userId
String
User ID
streamType
Video stream type
hasVideo
bool
Has video stream
reason
Reason for video stream change

onUserAudioStateChanged

Triggered when the user's audio status changes.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnUserAudioStateChanged onUserAudioStateChanged = (String userId, bool hasAudio, TUIChangeReason reason) {}
Parameters
Type
Description
userId
String
User ID
hasAudio
bool
Is there an audio stream
reason
Reason for video stream change

onUserVoiceVolumeChanged

Triggered when the user's volume changes.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnUserVoiceVolumeChanged onUserVoiceVolumeChanged = (Map<String, int> volumeMap) {}
Parameters
Type
Description
volumeMap
Map
User volume map
key: userId
value: Used to carry the volume levels of all speaking users. Range: 0 - 100

onSendMessageForUserDisableChanged

Triggered when the user's message sending permissions change.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnSendMessageForUserDisableChanged onSendMessageForUserDisableChanged = (String roomId, String userId, bool isDisable) {}
Parameters
Type
Description
roomId
String
Room ID
userId
String
User ID
isDisable
bool
Whether sending text messages is forbidden

onUserNetworkQualityChanged

Triggered when the user's network quality changes.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnUserNetworkQualityChanged onUserNetworkQualityChanged = (Map<String, TUINetwork> networkMap) {}
Parameters
Type
Description
networkMap
Map
User network status map
key:userId
value: Network condition

onUserScreenCaptureStopped

Triggered when the user's screen sharing stops.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnUserScreenCaptureStopped onUserScreenCaptureStopped = (int reason) {}
Parameters
Type
Description
reason
int
Stop reason
0: User stopped voluntarily
1: Stop due to screen window being closed
2: Indicates screen sharing display state change (e.g., interface unplugged, projection mode change, etc.)

onRoomMaxSeatCountChanged

Maximum number of microphones in room changed event (only in meeting type rooms).
OnRoomMaxSeatCountChanged onRoomMaxSeatCountChanged = (String roomId, int maxSeatCount) {}
Parameters
Type
Description
roomId
String
Room ID
maxSeatCount
int
Maximum number of microphone positions in the room

onSeatListChanged

Triggered when the microphone list changes.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnSeatListChanged onSeatListChanged = (List<TUISeatInfo> seatList, List<TUISeatInfo> seatedList, List<TUISeatInfo> leftList) {}
Parameters
Type
Description
seatList
The latest list of users currently on the microphone, including newly joined users
seatedList
List of newly joined users on the microphone
leftList
List of users who left the microphone


onKickedOffSeat


Triggered when the user is kicked off the microphone.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnKickedOffSeat onKickedOffSeat = (int seatIndex, TUIUserInfo operateUser) {}
Parameters
Type
Description
seatIndex
int
Microphone slot number
operateUser
TUIUserInfo
Operator's information

onRequestReceived

Triggered when a request from another user is received.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnRequestReceived onRequestReceived = (TUIRequest request) {}
Parameters
Type
Description
request
Request content

onRequestCancelled

Triggered when another user cancels the request.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnRequestCancelled onRequestCancelled = (TUIRequest request, TUIUserInfo operateUser) {}
Parameters
Type
Description
request
TUIRequest
Request Information
operateUser
TUIUserInfo
User information of the canceled signal

onRequestProcessed

Triggered when the request is handled by another admin/host.
Note:
This function applies to conference room type and live room type (conference & livingRoom).
OnRequestProcessed onRequestProcessed = (TUIRequest request, TUIUserInfo operateUser) {};
Parameters
Type
Description
request
TUIRequest
Request Information
operateUser
TUIUserInfo
User information of the canceled signal