TUIRoomEvent API 简介
TUIRoomEvent API 是音视频通话组件的事件接口。
事件列表
EVENT | 描述 |
错误事件 | |
移出房间事件 | |
当前用户被移下线事件 | |
userSig 过期事件 | |
主持人销毁房间事件 | |
房间名称修改事件 | |
房间发言模式修改事件,该接口自 v2.0.0 版本废弃 | |
上麦模式修改事件 | |
所有成员摄像头使用权限改变事件 | |
所有成员麦克风使用权限改变事件 | |
所有成员发送消息状态改变事件 | |
房间最大麦位数修改事件 | |
远端用户进入房间事件 | |
远端用户离开房间事件 | |
用户角色改变事件 | |
用户视频状态改变事件 | |
用户音频状态改变事件 | |
用户发送消息状态事件 | |
用户音量改变事件 | |
用户网络质量改变事件 | |
麦位列表改变事件 | |
用户被移下麦事件 | |
请求接收事件 | |
请求被处理事件 | |
请求取消事件 | |
接收文本消息事件,该接口自 v2.0.0 版本废弃 | |
接收自定义消息事件,该接口自 v2.0.0 版本废弃 | |
房间内所有用户屏幕分享被禁用事件,该接口自v2.2.0 版本支持 |
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 | 房间号 |
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 | 发言模式 |
注意:
该接口自 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 | 用户变更后的角色 |
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);})});
参数如下表所示:
参数 | 类型 | 含义 |
userVolumeList | Array.<object> | 房间内所有用户的音量, 包含 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);})});
参数如下表所示:
参数 | 类型 | 含义 |
userNetworkList | 网络质量信息列表 |
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 实例监听收消息事件。
onScreenShareForAllUserDisableChanged
房间内所有用户屏幕分享被禁用事件。
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onScreenShareForAllUserDisableChanged, ({ isDisable }) => {console.log('roomEngine.onScreenShareForAllUserDisableChanged', isDisable);});