腾讯云多人音视频房间SDKTUIRoomEvents_音视频解决方案_同尘科技
TUIRoomEvents API 简介
TUIRoomEvent API 是音视频通话组件的事件接口。
事件列表
EVENT | 描述 |
TUIRoomEvents.onError | 错误事件 |
TUIRoomEvents.onKickedOutOfRoom | 踢出房间事件 |
TUIRoomEvents.onKickedOffLine | 当前用户被踢下线事件 |
TUIRoomEvents.onUserSigExpired | userSig 过期事件 |
TUIRoomEvents.onRoomDismissed | 主持人销毁房间事件 |
TUIRoomEvents.onRoomNameChanged | 房间名称修改事件 |
TUIRoomEvents.onRoomSpeechModeChanged | 房间发言模式修改事件 |
TUIRoomEvents.onAllUserCameraDisableChanged | 所有成员摄像头使用权限改变事件 |
TUIRoomEvents.onAllUserMicrophoneDisableChanged | 所有成员麦克风使用权限改变事件 |
TUIRoomEvents.onSendMessageForAllUserDisableChanged | 所有成员发送消息状态改变事件 |
TUIRoomEvents.onRoomMaxSeatCountChanged | 房间最大麦位数修改事件 |
TUIRoomEvents.onRemoteUserEnterRoom | 远端用户进入房间事件 |
TUIRoomEvents.onRemoteUserLeaveRoom | 远端用户离开房间事件 |
TUIRoomEvents.onUserRoleChanged | 用户角色改变事件 |
TUIRoomEvents.onUserVideoStateChanged | 用户视频状态改变事件 |
TUIRoomEvents.onUserAudioStateChanged | 用户音频状态改变事件 |
TUIRoomEvents.onSendMessageForUserDisableChanged | 用户发送消息状态事件 |
TUIRoomEvents.onUserVoiceVolumeChanged | 用户音量改变事件 |
TUIRoomEvents.onUserNetworkQualityChanged | 用户网络质量改变事件 |
TUIRoomEvents.onSeatListChanged | 麦位列表改变事件 |
TUIRoomEvents.onKickedOffSeat | 用户被踢下麦事件 |
TUIRoomEvents.onRequestReceived | 请求接收事件 |
TUIRoomEvents.onRequestCancelled | 请求取消事件 |
TUIRoomEvents.onReceiveTextMessage | 接收文本消息事件 |
TUIRoomEvents.onReceiveCustomMessage | 接收自定义消息事件 |
TUIRoomEvents.onDeviceChange | 设备变更事件 |
TUIRoomEvents.onUserScreenCaptureStopped | 屏幕分享停止事件当用户使用浏览器自带的停止分享按钮结束屏幕共享时,该用户会收到 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, reason, message }) => { console.log('roomEngine.onKickedOutOfRoom', roomId, reason, message);});
参数如下表所示:
参数 | 类型 | 含义 |
roomId | string | 房间号 |
reason | TUIKickedOutOfRoomReason | 用户被踢出房间原因,该字段自 v1.4.1 版本开始支持 |
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 | TUISpeechMode | 发言模式 |
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 | TUIUserInfo | 用户信息 |
onRemoteUserLeaveRoom
远端用户离开房间事件。
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRemoteUserLeaveRoom, ({ roomId, userInfo }) => { console.log('roomEngine.onRemoteUserLeaveRoom', roomId, userInfo);});
参数如下表所示:
参数 | 类型 | 含义 |
roomId | string | 房间号 |
userInfo | TUIUserInfo | 用户信息 |
onUserRoleChanged
用户角色改变事件。
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserRoleChanged, ({ userId, userRole }) => { console.log('roomEngine.onUserRoleChanged', userId, userRole);});
参数如下表所示:
参数 | 类型 | 含义 |
userId | string | 用户 ID |
userRole | TUIRole | 用户变更后的角色 |
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 | TUIVideoStreamType | 用户流类型 |
hasVideo | boolean | 是否有视频流 |
reason | TUIChangeReason | 变更原因,自己操作/主持人操作 |
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 | TUIChangeReason | 变更原因,自己操作/主持人操作 |
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. | 房间内所有用户的音量, 包含 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. | 网络质量信息列表 |
onSeatListChanged
麦位列表改变事件。
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onSeatListChanged, ({ seatList, seatedList, leftList }) => { console.log('roomEngine.onSeatListChanged',seatList, seatedList, leftList);});
参数如下表所示:
参数 | 类型 | 含义 |
seatList | Array. | 麦位列表 |
seatedList | Array. | 新增麦位信息 |
leftList | Array. | 离开的麦位信息 |
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 | TUIRequest | 请求接收 |
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 | TUIMessage | 接收文本消息 |
onReceiveCustomMessage
接收自定义消息事件。
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onReceiveCustomMessage, ({ roomId, message }) => { console.log('roomEngine.onReceiveCustomMessage', roomId, message);});
参数如下表所示:
参数 | 类型 | 含义 |
roomId | string | 房间 ID |
message | TUIMessage | 接收文本消息 |
onDeviceChange
设备变更事件。
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onDeviceChange, ({ deviceId, type, state }) => { console.log('roomEngine.onDeviceChange', deviceId, type, state);});
参数如下表所示:
参数 | 类型 | 含义 |
deviceId | string | 设备 ID |
type | TRTCDeviceType | 设备类型 |
state | TRTCDeviceState | 设备变更状态 |
onUserScreenCaptureStopped
屏幕分享停止事件,当用户使用浏览器自带的停止分享按钮结束屏幕共享时,该用户会收到 'onUserScreenCaptureStopped'
事件用来修改屏幕共享状态。
const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserScreenCaptureStopped, () => { console.log('roomEngine.onUserScreenCaptureStopped', deviceId, type, state);});
对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?