通话数据统计
音视频通话过程中,底层音视频库会按照 RCRTCEngineSetup
中的 statsReportInterval
指定的时间间隔(默认1秒)上报通话的详细数据,上层依据此数据可进行提示,状态判断等处理。
可通过 RCRTCEngine
中的 setOnNetworkStatsListener
等方法注册监听。
设置通话数据统计监听
方法
JavaScript
engine.setOnNetworkStatsListener();
回调参数
参数 | 类型 | 说明 |
---|---|---|
stats | RCRTCNetworkStats | 网络状态信息 |
示例代码
JavaScript
engine.setOnNetworkStatsListener((stats) => {
// 网络状态信息
console.log('网络状态:', stats);
});
统计回调详细说明
网络状态监听
方法
JavaScript
engine.setOnNetworkStatsListener();
回调参数
参数 | 类型 | 说明 |
---|---|---|
stats | RCRTCNetworkStats | 网络状态信息 |
示例代码
JavaScript
engine.setOnNetworkStatsListener((stats) => {
console.log('网络状态信息:', stats);
});
本地音频统计监听
方法
JavaScript
engine.setOnLocalAudioStatsListener();
回调参数
参数 | 类型 | 说明 |
---|---|---|
stats | RCRTCLocalAudioStats | 音频发送状态信息 |
示例代码
JavaScript
engine.setOnLocalAudioStatsListener((stats) => {
console.log('音频发送状态信息:', stats);
});
本地视频统计监听
方法
JavaScript
engine.setOnLocalVideoStatsListener();
回调参数
参数 | 类型 | 说明 |
---|---|---|
stats | RCRTCLocalVideoStats | 视频发送状态信息 |
示例代码
JavaScript
engine.setOnLocalVideoStatsListener((stats) => {
console.log('视频发送状态信息:', stats);
});
本地自定义视频统计监听
方法
JavaScript
engine.setOnLocalCustomVideoStatsListener();
回调参数
参数 | 类型 | 说明 |
---|---|---|
tag | String | 自定义视频资源 TAG |
stats | RCRTCLocalVideoStats | 自定义视频资源发送状态信息 |
示例代码
JavaScript
engine.setOnLocalCustomVideoStatsListener(({tag, stats}) => {
console.log('自定义视频发送状态信息:', tag, stats);
});
远端音频统计监听
方法
JavaScript
engine.setOnRemoteAudioStatsListener();
回调参数
参数 | 类型 | 说明 |
---|---|---|
roomId | String | 远端房间 ID |
userId | String | 远端用户 ID |
stats | RCRTCRemoteAudioStats | 音频接收质量状态信息 |
示例代码
JavaScript
engine.setOnRemoteAudioStatsListener(({roomId, userId, stats}) => {
console.log('音频接收状态信息:', roomId, userId, stats);
});
在直播场景下,主播角色的用户可通过该回调获取房间内正在说法的其他主播及其音量。在会议场景下,与会用户可通过该回调获取房间内正在说法的其他用户及其音量。
远端视频统计监听
方法
JavaScript
engine.setOnRemoteVideoStatsListener();
回调参数
参数 | 类型 | 说明 |
---|---|---|
roomId | String | 远端房间 ID |
userId | String | 远端用户 ID |
stats | RCRTCRemoteVideoStats | 视频接收质量状态信息 |
示例代码
JavaScript
engine.setOnRemoteVideoStatsListener(({roomId, userId, stats}) => {
console.log('视频接收状态信息:', roomId, userId, stats);
});
合流音频统计监听
方法
JavaScript
engine.setOnLiveMixAudioStatsListener();
回调参数
参数 | 类型 | 说明 |
---|---|---|
stats | RCRTCRemoteAudioStats | 合流音频接收质量状态信息 |
示例代码
JavaScript
engine.setOnLiveMixAudioStatsListener((stats) => {
console.log('合流音频接收状态信息:', stats);
});
合流成员音频统计监听
方法
JavaScript
engine.setOnLiveMixMemberAudioStatsListener();
回调参数
参数 | 类型 | 说明 |
---|---|---|
callback | OnLiveMixMemberAudioStatsResult | 上报远端分流音频统计信息。其中 userId (string) 为远端用户 ID,volume (number)为音量 |
示例代码
JavaScript
engine.setOnLiveMixMemberAudioStatsListener((callback) => {
console.log('合流成员音频统计信息:', callback);
});
在直播场景下,观众可以通过该回调获取正在说话的主播的音量。
合流视频统计监听
方法
JavaScript
engine.setOnLiveMixVideoStatsListener();
回调参数
参数 | 类型 | 说明 |
---|---|---|
stats | RCRTCRemoteVideoStats | 合流视频接收质量状态信息 |
示例代码
JavaScript
engine.setOnLiveMixVideoStatsListener((stats) => {
console.log('合流视频接收状态信息:', stats);
});
远端自定义视频统计监听
方法
JavaScript
engine.setOnRemoteCustomVideoStatsListener();
回调参数
参数 | 类型 | 说明 |
---|---|---|
roomId | String | 远端房间 ID |
userId | String | 远端用户 ID |
tag | String | 远端自定义视频资源 TAG |
stats | RCRTCRemoteVideoStats | 自定义视频资源接收质量状态信息 |
示例代码
JavaScript
engine.setOnRemoteCustomVideoStatsListener(({roomId, userId, tag, stats}) => {
console.log('自定义视频接收状态信息:', roomId, userId, tag, stats);
});
统计数据结构说明
RCRTCNetworkStats
属性 | 类型 | 说明 |
---|---|---|
type | RCRTCNetworkType | 网络类型,未知/WIFI/移动网络 |
ip | String | IP 地址 |
sendBitrate | Number | 发送码率,单位:kbps |
receiveBitrate | Number | 接收码率,单位:kbps |
rtt | Number | 往返延时,单位:ms |
RCRTCLocalAudioStats
属性 | 类型 | 说明 |
---|---|---|
codec | RCRTCAudioCodecType | 编码类型,PCMU/OPUS |
bitrate | Number | 码率,单位:kbps |
volume | Number | 音量 |
packageLostRate | Number | 丢包率:取值范围是 0-100 |
rtt | Number | 往返延时,单位:ms |
RCRTCLocalVideoStats
属性 | 类型 | 说明 |
---|---|---|
tiny | Boolean | 小流标记,true 小流,false 大流 |
codec | RCRTCVideoCodecType | 编码类型,H264 |
bitrate | Number | 码率,单位:kbps |
fps | Number | 视频帧率 |
width | Number | 视频宽度 |
height | Number | 视频高度 |
packageLostRate | Number |