TUIRoomEvent

TUIRoomEvent API 简介

TUIRoomEvent API 是多人组件的事件接口

事件列表

EVENT
描述
错误事件
踢出房间事件
当前用户被踢下线
userSig 过期事件
主持人销毁房间事件
房间名称修改事件
房间发言模式修改事件
所有成员摄像头使用权限改变事件
所有成员麦克风使用权限改变事件
所有成员发送消息状态改变事件
房间最大麦位数修改事件
远端用户进入房间事件
远端用户离开房间事件
用户角色改变事件
用户视频状态改变事件
用户音频状态改变事件
用户发送消息状态事件
用户音量改变事件
用户网络质量改变事件
麦位列表改变事件
用户被踢下麦事件
请求接收事件
请求取消事件
接收文本消息事件
接收自定义消息事件
设备变更事件
屏幕分享停止事件,当用户使用浏览器自带的【停止分享】按钮结束屏幕共享时,该用户会收到 'onUserScreenCaptureStopped' 事件用来修改屏幕共享状态。

onError

错误事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onError, (error) => {
console.log('TUIRoomError error', error);
})
参数如下表所示:
参数
类型
含义
code
number
错误代码
message
string
错误信息

onKickedOutOfRoom

踢出房间事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onKickedOutOfRoom, ({ roomId, message }) => {
console.log('roomEngine.onKickedOutOfRoom', roomId, message);
});
参数如下表所示:
参数
类型
含义
roomId
string
房间号
message
string
踢出房间信息

onKickedOffLine

当前用户被踢下线
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onKickedOffLine, ({ message }) => {
console.log('roomEngine.onKickedOffLine', message);
});
参数如下表所示:
参数
类型
含义
roomId
string
房间号
message
string
用户在其他端登录信息

onUserSigExpired

userSig 过期事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onUserSigExpired, () => {
console.log('roomEngine.onUserSigExpired');
});

onRoomDismissed

主持人销毁房间事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onRoomDismissed, ({ roomId }) => {
console.log('roomEngine.onRoomDismissed', roomId);
});
参数如下表所示:
参数
类型
含义
roomId
string
房间号

onRoomNameChanged

房间信息修改事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onRoomNameChanged, ({ roomId, roomName }) => {
console.log('roomEngine.onRoomNameChanged', roomId, roomName);
});
参数如下表所示:
参数
类型
含义
roomId
string
房间号
roomName
string
房间名称

onRoomSpeechModeChanged

房间名称修改事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onRoomSpeechModeChanged, ({ roomId, speechMode }) => {
console.log('roomEngine.onRoomSpeechModeChanged', roomId, speechMode);
});
参数如下表所示:
参数
类型
含义
roomId
string
房间号
speechMode
发言模式

onAllUserCameraDisableChanged

所有成员摄像头使用权限改变事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onAllUserCameraDisableChanged, ({ isDisable }) => {
console.log('roomEngine.onAllUserCameraDisableChanged', isDisable);
});
参数如下表所示:
参数
类型
含义
isDisable
boolean
是否允许使用摄像头

onAllUserMicrophoneDisableChanged

所有成员麦克风使用权限改变事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onAllUserMicrophoneDisableChanged, ({ isDisable }) => {
console.log('roomEngine.onAllUserMicrophoneDisableChanged', isDisable);
});
参数如下表所示:
参数
类型
含义
isDisable
boolean
是否允许使用麦克风

onSendMessageForAllUserDisableChanged

所有成员发送消息权限改变事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onSendMessageForAllUserDisableChanged, ({ isDisable }) => {
console.log('roomEngine.onSendMessageForAllUserDisableChanged', isDisable);
});
参数如下表所示:
参数
类型
含义
isDisable
boolean
是否允许发送文字消息

onRoomMaxSeatCountChanged

房间最大麦位数修改事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onRoomMaxSeatCountChanged, ({ maxSeatNumber }) => {
console.log('roomEngine.onRoomMaxSeatCountChanged', maxSeatNumber);
});
参数如下表所示:
参数
类型
含义
maxSeatNumber
number
最大麦位数量

onRemoteUserEnterRoom

远端用户进入房间事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onRemoteUserEnterRoom, ({ roomId, userInfo }) => {
console.log('roomEngine.onRemoteUserEnterRoom', roomId, userInfo);
});
参数如下表所示:
参数
类型
含义
roomId
string
房间号
userInfo
用户信息

onRemoteUserLeaveRoom

远端用户离开房间事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onRemoteUserLeaveRoom, ({ roomId, userInfo }) => {
console.log('roomEngine.onRemoteUserLeaveRoom', roomId, userInfo);
});
参数如下表所示:
参数
类型
含义
roomId
string
房间号
userInfo
用户信息

onUserRoleChanged

用户角色改变事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onUserRoleChanged, ({ userId, userRole }) => {
console.log('roomEngine.onUserRoleChanged', userId, userRole);
});
参数如下表所示:
参数
类型
含义
userId
string
用户 ID
userRole
TUIRole
用户变更后的角色

onUserVideoStateChanged

用户视频状态改变事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onUserVideoStateChanged, ({ userId, streamType, hasVideo, reason }) => {
console.log('roomEngine.onUserVideoStateChanged', userId, streamType, hasVideo, reason);
});
参数如下表所示:
参数
类型
含义
userId
string
用户 ID
streamType
用户流类型
hasVideo
boolean
是否有视频流
reason
变更原因, 自己操作/主持人操作

onUserAudioStateChanged

用户音频状态改变事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onUserAudioStateChanged, ({ userId, hasAudio, reason }) => {
console.log('roomEngine.onUserAudioStateChanged', userId, hasAudio, reason);
});
参数如下表所示:
参数
类型
含义
userId
string
用户 ID
hasVideo
boolean
是否有音频流
reason
变更原因,自己操作/主持人操作

onSendMessageForUserDisableChanged

有成员摄像头使用权限修改事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onSendMessageForAllUserDisableChanged, ({ isDisable }) => {
console.log('roomEngine.onSendMessageForAllUserDisableChanged', isDisable);
});
参数如下表所示:
参数
类型
含义
isDisable
boolean
是否允许发送文字消息

onUserVoiceVolumeChanged

用户音量改变事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onUserVoiceVolumeChanged, ({ userVolumeList }) => {
userVolumeList.forEach(userVolume => {
console.log('roomEngine.onUserVoiceVolumeChanged', userVolume.userId, userVolume.volume);
})
});
参数如下表所示:
参数
类型
含义
userVolumes
房间内所有用户的音量, 包含 userId 及 volume 信息,volume 区间为 1~100;

onUserNetworkQualityChanged

用户网络质量改变事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onUserNetworkQualityChanged, ({ userNetworkList }) => {
userNetworkList.forEach(userNetwork => {
console.log('roomEngine.onUserNetworkQualityChanged', userNetwork.userId, userNetwork.volume);
})
});
参数如下表所示:
参数
类型
含义
networkMap
遍历网络质量等级

onSeatListChanged

麦位列表改变事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onSeatListChanged, ({ seatList, seatedList, leftList }) => {
console.log('roomEngine.onSeatListChanged',seatList, seatedList, leftList);
});
参数如下表所示:
参数
类型
含义
seatList
Array.<TUISeatInfo>
麦位列表
seatedList
Array.<TUISeatInfo>
新增麦位信息
leftList
Array.<TUISeatInfo>
离开的麦位信息

onKickedOffSeat

麦位列表改变事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onKickedOffSeat, ({ userId }) => {
console.log('roomEngine.onKickedOffSeat', userId);
});
参数如下表所示:
参数
类型
含义
userId
String
被踢下麦的用户 ID

onRequestReceived

错误事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onRequestReceived, ({ request }) => {
console.log('roomEngine.onRequestReceived', request);
});
参数如下表所示:
参数
类型
含义
request
请求接收

onRequestCancelled

请求取消事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onRequestCancelled, ({ requestId, userId }) => {
console.log('roomEngine.onRequestCancelled', requestId, userId);
});
参数如下表所示:
参数
类型
含义
requestId
string
请求 ID
userId
string
取消请求的用户 ID

onReceiveTextMessage

接收文本消息事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onReceiveTextMessage, ({ roomId, message }) => {
console.log('roomEngine.onReceiveTextMessage', roomId, message);
});
参数如下表所示:
参数
类型
含义
roomId
string
房间 ID
message
接收文本消息

onReceiveCustomMessage

接收自定义消息事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onReceiveCustomMessage, ({ roomId, message }) => {
console.log('roomEngine.onReceiveCustomMessage', roomId, message);
});
参数如下表所示:
参数
类型
含义
roomId
string
房间 ID
message
接收文本消息

onDeviceChange

设备变更事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onDeviceChange, ({ deviceId, type, state }) => {
console.log('roomEngine.onReceiveCustomMessage', deviceId, type, state);
});
参数如下表所示:
参数
类型
含义
deviceId
string
设备 ID
type
设备类型
state
设备变更状态

onUserScreenCaptureStopped

屏幕分享停止事件,当用户使用浏览器自带的 停止分享 按钮结束屏幕共享时,该用户会收到 onUserScreenCaptureStopped事件用来修改屏幕共享状态。
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onUserScreenCaptureStopped, () => {
console.log('roomEngine.onReceiveCustomMessage', deviceId, type, state);
});