腾讯云多人音视频房间SDKTUIRoomEvents_音视频解决方案_同尘科技

多人音视频房间SDK 2年前 (2023-07-20) 浏览 63

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折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?