有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

TUIRoomEvent API 简介

TUIRoomEvent API 是音视频通话组件的事件接口

事件列表

EVENT
描述
错误事件
踢出房间事件
当前用户被踢下线事件
userSig 过期事件
主持人销毁房间事件
房间名称修改事件
房间发言模式修改事件,该接口自 v2.0.0 版本废弃
上麦模式修改事件
所有成员摄像头使用权限改变事件
所有成员麦克风使用权限改变事件
所有成员发送消息状态改变事件
房间最大麦位数修改事件
远端用户进入房间事件
远端用户离开房间事件
用户角色改变事件
用户视频状态改变事件
用户音频状态改变事件
用户发送消息状态事件
用户音量改变事件
用户网络质量改变事件
麦位列表改变事件
用户被踢下麦事件
请求接收事件
请求被处理事件
请求取消事件
接收文本消息事件,该接口自 v2.0.0 版本废弃
接收自定义消息事件,该接口自 v2.0.0 版本废弃
设备变更事件
屏幕分享停止事件
当用户使用浏览器自带的停止分享按钮结束屏幕共享时,该用户会收到 'onUserScreenCaptureStopped' 事件用来修改屏幕共享状态。
房间内所有用户屏幕分享被禁用事件,该接口自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
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);
})
});
参数如下表所示:
参数
类型
含义
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
Array.<TUINetwork>
网络质量信息列表

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
请求接收

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.onDeviceChange', deviceId, type, state);
});
参数如下表所示:
参数
类型
含义
deviceId
string
设备 ID
type
设备类型
state
设备变更状态

onUserScreenCaptureStopped

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

onScreenShareForAllUserDisableChanged

房间内所有用户屏幕分享被禁用事件
const roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onScreenShareForAllUserDisableChanged, ({ isDisable }) => {
console.log('roomEngine.onScreenShareForAllUserDisableChanged', isDisable);
});