设置 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 |
设备状态 |