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

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

TUIRoomEvent API 简介

TUIRoomEvent API 是多人组件的事件接口

事件列表

EVENT 描述
TUIRoomEvents.onError 错误事件
TUIRoomEvents.onKickedOutOfRoom 踢出房间事件
TUIRoomEvents. onKickedOffLine 当前用户被踢下线
TUIRoomEvents.onUserSigExpired userSig 过期事件
TUIRoomEvents.onRoomDismissed 主持人销毁房间事件
TUIRoomEvents.onRoomInfoChanged 房间信息修改事件
TUIRoomEvents.onRemoteUserEnterRoom 远端用户进入房间事件
TUIRoomEvents.onRemoteUserLeaveRoom 远端用户离开房间事件
TUIRoomEvents.onUserRoleChanged 用户角色改变事件
TUIRoomEvents.onUserMuteStateChanged 用户禁止发文字消息状态改变事件
TUIRoomEvents.onUserVideoStateChanged 用户视频状态改变事件
TUIRoomEvents.onUserAudioStateChanged 用户音频状态改变事件
TUIRoomEvents.onUserVoiceVolumeChanged 用户音量改变事件
TUIRoomEvents.onUserNetworkQualityChanged 用户网络质量改变事件
TUIRoomEvents.onSeatControlEnabled 麦位控制启用事件
TUIRoomEvents.onSeatListChanged 麦位列表改变事件
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, message);});

参数如下表所示:

参数 类型 含义
roomId string 房间号
reason TUIKickedOutOfRoomReason 用户被踢出房间原因
message string 踢出房间信息

onKickedOffSeat

说明:该事件自 v1.0.1 版本支持。用户被踢下麦事件。

const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onKickedOffSeat, ({ userId }) => {  console.log('roomEngine.onKickedOffSeat', userId);});

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 房间号

onRoomInfoChanged

房间信息修改事件。

const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onRoomInfoChanged, ({ roomId, roomInfo }) => {  console.log('roomEngine.onRoomInfoChanged', roomId, roomInfo);});

参数如下表所示:

参数 类型 含义
roomId string 房间号
roomInfo string 房间信息

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 变更原因,自己操作/主持人操作

onUserVoiceVolumeChanged

用户音量改变事件。

const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserVoiceVolumeChanged, ({ userVolumeList }) => {  userVolumeList.forEach(userVolume => {    console.log('roomEngine.onUserVoiceVolumeChanged', userVolume.userId, userVolume.volume);  })});

参数如下表所示:

参数 类型 含义
userVolumes 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);  })});

参数如下表所示:

参数 类型 含义
networkMap Array. 遍历网络质量等级

onSeatControlEnabled

麦位控制启用事件。

const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onSeatControlEnabled, ({ enabled, maxSeatNumber }) => {  console.log('roomEngine.onSeatControlEnabled', enabled, maxSeatNumber);});

参数如下表所示:

参数 类型 含义
enabled boolean 是否启用
maxSeatNumber number 最大麦位数量

onSeatListChanged

麦位列表改变事件。

const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onSeatListChanged, ({ seatList, usersSeated, usersLeft }) => {  console.log('roomEngine.onSeatListChanged',seatList, usersSeated, usersLeft);});

参数如下表所示:

参数 类型 含义
seatList Array. 麦位列表
usersSeated Array. 新增麦位信息
usersLeft Array. 离开的麦位信息

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.onReceiveCustomMessage', deviceId, type, state);});

参数如下表所示:

参数 类型 含义
deviceId string 设备 ID
type TRTCDeviceType 设备类型
state TRTCDeviceState 设备变更状态

onUserScreenCaptureStopped

屏幕分享停止事件,当用户使用浏览器自带的停止分享按钮结束屏幕共享时,该用户会收到 onUserScreenCaptureStopped事件用来修改屏幕共享状态。

const roomEngine = new TUIRoomEngine();roomEngine.on(TUIRoomEvents.onUserScreenCaptureStopped, () => {  console.log('roomEngine.onReceiveCustomMessage', deviceId, type, state);});



对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

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

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

- 0人点赞 -

发表点评 (0条)

not found

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