TRTCCallback

TRTCCallback

设置 TRTCCloud 回调

Example

import TRTCCloud from 'trtc-cloud-js-sdk';
const trtcCloud = TRTCCloud.getTRTCShareInstance();
// 添加事件监听的方法,事件关键字详见下方”通用事件回调“
trtcCloud.on('onEnterRoom', (result) => {
  if (result > 0) {
    console.log(`enter room success, spend ${result}ms`);
  } else {
    console.log(`enter room failed, error code = ${result}`);
  }
});

Events

onError

错误回调:SDK 不可恢复的错误,一定要监听,并分情况给用户适当的界面提示

Parameters:
Name Type Description
code Number

错误码

message String

错误信息

onEnterRoom

进房后的回调
调用 enterRoom() 接口执行进房操作后,会收到 onEnterRoom 回调

  • 如果加入成功,result 会是一个正数(result > 0),代表加入房间的时间消耗,单位是毫秒(ms)。
  • 如果加入失败,result 会是一个负数(result < 0),代表进房失败的错误码。
Parameters:
Name Type Description
result Number

进房耗时

onExitRoom

离开房间的事件回调
调用 exitRoom() 接口会执行退出房间的相关逻辑,例如释放音视频设备资源和编解码器资源等。待资源释放完毕,会通过 onExitRoom 回调通知到您

Note:

  • 如果您要再次调用 enterRoom() 或者切换到其他的音视频 SDK, 请等待 onExitRoom 回调到来之后再执行相关操作。 否则可能会遇到音频设备被占用等各种异常问题
Parameters:
Name Type Description
reason Number

离开房间原因,0:主动调用 exitRoom 退房;1:被服务器踢出当前房间;2:当前房间整个被解散

onRemoteUserEnterRoom

有用户加入当前房间

Parameters:
Name Type Description
userId String

用户标识 ID

onRemoteUserLeaveRoom

有用户离开当前房间
Note:

  • live 模式下,不支持观众进退房通知
Parameters:
Name Type Description
userId String

用户标识 ID

reason Number

离开原因,0 表示用户主动退出房间,1 表示用户超时退出,2 表示被踢出房间

onUserAudioAvailable

远端用户是否存在可播放的音频数据

Parameters:
Name Type Description
userId String

用户标识 ID

available Number

声音是否开启

onUserVideoAvailable

远端用户是否存在可播放的主路画面(一般用于摄像头)

Parameters:
Name Type Description
userId String

用户标识 ID

available Number

画面是否开启

onUserSubStreamAvailable

远端用户是否存在可播放的辅路画面(屏幕分享)

Parameters:
Name Type Description
userId String

用户标识 ID

available Boolean

画面是否开启

onSwitchRole

切换角色的事件回调

Parameters:
Name Type Description
code Number

状态码

message String

状态码对应的信息

onUserVoiceVolume

音量大小事件
调用 enableAudioVolumeEvaluation() 接口开启音量大小回调后, SDK 会定时抛出该事件,通知每个 userId 的音量大小。

Parameters:
Name Type Description
userVolumes Array.<TRTCVolumeInfo>

房间内所用用户的音量

onNetworkQuality

网络质量统计数据事件,进房后开始统计,每两秒触发一次,包括上、下行的网络质量数据

  • 上行网络质量(uplinkNetworkQuality)为 SDK 到腾讯云的上行连接网络质量
  • 下行网络质量(downlinkNetworkQuality)为腾讯云到 SDK 的所有下行连接的平均网络质量 其枚举值及含义如下表所示 其枚举值及含义如下表所示:
    数值 含义
    0 网络状况未知,表示当前 client 实例还没有建立上行/下行连接
    1 网络状况极佳
    2 网络状况较好
    3 网络状况一般
    4 网络状况差
    5 网络状况极差
    6 网络连接已断开
    注意:若下行网络质量为此值,则表示所有下行连接都断开了
  • uplinkRTT,uplinkLoss 为上行 RTT(ms) 及上行丢包率。
  • downlinkRTT,downlinkLoss 为所有下行连接的平均 RTT(ms) 及平均丢包率。
Parameters:
Name Type Description
userId String

用户 ID

uplinkNetworkQuality TRTCNetQuality

上行网络质量

uplinkRTT Number

上行 RTT(ms)

uplinkLoss Number

上行丢包率

downlinkRTT Number

所有下行连接的平均 RTT(ms)

downlinkLoss Number

所有下行连接的平均丢包率

onDeviceChange

设备插拔事件

Parameters:
Name Type Description
deviceId String

设备 ID

type TRTCDeviceType

设备类型

state TRTCDeviceState

设备状态