TUIRoomEvent API 简介
TUIRoomEvent API 是多人组件的事件接口。
房间事件
EVENT | 描述 |
错误事件 | |
踢出房间事件 | |
当前用户被踢下线 | |
userSig 过期事件 | |
主持人销毁房间事件 | |
房间名称修改事件 | |
房间发言模式修改事件,该接口自 v2.0.0 版本废弃 | |
上麦模式修改事件 | |
所有成员麦克风使用权限改变事件 | |
所有成员发送消息状态改变事件 | |
房间最大麦位数修改事件 | |
远端用户进入房间事件 | |
远端用户离开房间事件 | |
用户角色改变事件 | |
用户视频状态改变事件 | |
用户音频状态改变事件 | |
用户发送消息状态事件 | |
用户音量改变事件 | |
用户网络质量改变事件 | |
麦位列表改变事件 | |
用户被踢下麦事件 | |
请求接收事件 | |
请求被处理事件 | |
请求取消事件 | |
接收文本消息事件,该接口自 v2.0.0 版本废弃 | |
接收自定义消息事件,该接口自 v2.0.0 版本废弃 | |
设备变更事件 | |
屏幕分享停止事件,当用户使用浏览器自带的停止分享按钮结束屏幕共享时,该用户会收到 'onUserScreenCaptureStopped' 事件用来修改屏幕共享状态。 | |
房间内所有用户屏幕分享被禁用事件,该接口自v2.2.0 版本支持 |
会议列表事件
EVENT | 描述 |
会议预定回调 | |
会议即将开始回调 | |
会议取消回调 | |
会议信息变更回调 | |
参会人员变更回调 | |
会议状态变更回调 |
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, reason, message }) => {console.log('roomEngine.onKickedOutOfRoom', roomId, message);});
参数如下表所示:
参数 | 类型 | 含义 |
roomId | string | 房间号 |
reason | 用户被踢出房间原因 | |
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 | 房间号 |
onRoomInfoChanged
房间信息修改事件
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRoomInfoChanged, ({ roomId, roomName }) => {console.log('roomEngine.onRoomInfoChanged', 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 | 发言模式 |
注意:
该接口自 v2.0.0 版本废弃。
onRoomSeatModeChanged
上麦模式修改事件
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRoomSeatModeChanged, ({ roomId, seatMode }) => {console.log('roomEngine.onRoomSeatModeChanged', roomId, seatMode);});
参数如下表所示:
参数 | 类型 | 含义 |
roomId | string | 房间号 |
seatMode | 房间上麦模式 |
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 | 用户变更后的角色 |
onUserMuteStateChanged
用户禁止发文字消息状态改变事件。
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserMuteStateChanged, ({ userId, muted }) => {console.log('roomEngine.onUserMuteStateChanged', userId, muted);});
参数如下表所示:
参数 | 类型 | 含义 |
userId | string | 用户 ID |
muted | boolean | 是否被禁止发文字消息 |
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.quality, userNetwork.upLoss, userNetwork.downLoss, userNetwork.delay);})});
参数如下表所示:
参数 | 类型 | 含义 |
networkMap | 遍历网络质量等级 |
onSeatControlEnabled
麦位控制启用事件。
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onSeatControlEnabled, ({ enabled, maxSeatNumber }) => {console.log('roomEngine.onSeatControlEnabled', enabled, maxSeatNumber);});
参数如下表所示:
参数 | 类型 | 含义 |
enabled | boolean | 是否启用 |
maxSeatNumber | number | 最大麦位数量 |
onSeatListChanged
麦位列表改变事件
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onSeatListChanged, ({ seatList, seatedList, leftList }) => {console.log('roomEngine.onSeatListChanged',seatList, seatedList, leftList);});
参数如下表所示:
参数 | 类型 | 含义 |
seatList | 麦位列表 | |
seatedList | 新增麦位信息 | |
leftList | 离开的麦位信息 |
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 | 请求接收 |
onRequestProcessed
请求被处理事件
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRequestProcessed, ({ request }) => {console.log('roomEngine.onRequestProcessed', 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 | 接收文本消息 |
注意:
该接口自 v2.0.0 版本废弃,请使用 tim 实例监听收消息事件。
onReceiveCustomMessage
接收自定义消息事件
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onReceiveCustomMessage, ({ roomId, message }) => {console.log('roomEngine.onReceiveCustomMessage', roomId, message);});
参数如下表所示:
参数 | 类型 | 含义 |
roomId | string | 房间 ID |
message | 接收自定义消息 |
注意:
该接口自 v2.0.0 版本废弃,请使用 tim 实例监听收消息事件。
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);});
onScreenShareForAllUserDisableChanged
房间内所有用户屏幕分享被禁用事件
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onScreenShareForAllUserDisableChanged, ({ isDisable }) => {console.log('roomEngine.onScreenShareForAllUserDisableChanged', isDisable);});
onConferenceScheduled
会议预定回调
const roomEngine = new TUIRoomEngine();const conferenceListManager = roomEngine.getConferenceListManager();conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceScheduled, ({ conferenceInfo }) => {console.log('conferenceListManager.onConferenceScheduled', conferenceInfo);})
参数如下表所示:
参数 | 类型 | 含义 |
conferenceInfo | 会议信息 |
onConferenceWillStart
会议即将开始回调
const roomEngine = new TUIRoomEngine();const conferenceListManager = roomEngine.getConferenceListManager();conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceWillStart, ({ conferenceInfo }) => {console.log('conferenceListManager.onConferenceWillStart', conferenceInfo);})
参数如下表所示:
参数 | 类型 | 含义 |
conferenceInfo | 会议信息 |
onConferenceCancelled
会议取消回调
const roomEngine = new TUIRoomEngine();const conferenceListManager = roomEngine.getConferenceListManager();conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceCancelled, ({ roomId, reason, operateUser }) => {console.log('conferenceListManager.onConferenceCancelled', roomId, reason, operateUser);})
参数如下表所示:
参数 | 类型 | 含义 |
roomId | string | 会议Id,即房间 roomId |
reason | 会议取消原因 | |
operateUser | TUIUserInfo | 取消会议操作者信息 |
onConferenceInfoChanged
会议信息变更回调
const roomEngine = new TUIRoomEngine();const conferenceListManager = roomEngine.getConferenceListManager();conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceInfoChanged, ({ conferenceModifyInfo }) => {console.log('conferenceListManager.onConferenceInfoChanged', conferenceModifyInfo);})
参数如下表所示:
参数 | 类型 | 含义 |
conferenceModifyInfo | 会议变更信息 |
onScheduleAttendeesChanged
参会人员变更回调
const roomEngine = new TUIRoomEngine();const conferenceListManager = roomEngine.getConferenceListManager();conferenceListManager.on(TUIConferenceListManagerEvents.onScheduleAttendeesChanged, ({ roomId, leftUsers, joinedUsers }) => {console.log('conferenceListManager.onScheduleAttendeesChanged', roomId, leftUsers, joinedUsers);})
参数如下表所示:
参数 | 类型 | 含义 |
roomId | string | 会议Id,即房间roomId |
leftUsers | Array<TUIUserInfo> | 离开成员列表 |
joinedUsers | Array<TUIUserInfo> | 新加入成员列表 |
onConferenceStatusChanged
会议状态变更回调
const roomEngine = new TUIRoomEngine();const conferenceListManager = roomEngine.getConferenceListManager();conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceStatusChanged, ({ roomId, status }) => {console.log('conferenceListManager.onConferenceStatusChanged', roomId, status );})
参数如下表所示:
参数 | 类型 | 含义 |
roomId | string | 会议Id,即房间roomId |
status | 会议状态 |