有奖:语音产品征文挑战赛等你来> HOT

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
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 实例监听收消息事件。

onScreenShareForAllUserDisableChanged

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