更新时间:2023-10-26 GMT+08:00
分享

通话质量监测

功能描述

加入频道后,SDK会每隔2秒自动触发通话质量相关的回调,上报当前通话的网络质量、本地和远端的音视频统计信息。

上报接口

通话质量上报

onNetworkQualityNotify回调上报当前通话中每个入会者的上下行网络质量。默认开启,每2s上报一次。

void HWEngineEventHandler::onNetworkQualityNotify(HRTCQualityInfo * localQuality, unsigned int localQualityCount, HRTCQualityInfo * remoteQuality, unsigned int remoteQualityCount) {
    for (unsigned int i = 0; i < remoteQualityCount; i++) {
        HRTCQualityInfo stats;
        memcpy_s(&stats, sizeof(stats), &remoteQuality[i], sizeof(HRTCQualityInfo));
        //把远端网络质量刷新到统计界面上
    }
}

本地音频流统计信息报告

onLocalAudioStatsNotify回调上报本地设备发送音频流的统计信息。您可以了解到当前通话声道数(单声道或双声道)、发送音频的采样率、码率、比特率、丢包率、延时和抖动等。

void HWEngineEventHandler::onLocalAudioStatsNotify(const HRTCLocalAudioStats * localStats, unsigned int localStatsCount) {
}

远端音频流统计信息报告

onRemoteAudioStatsNotify回调上报当前通话中每个远端用户音频流的统计信息。您可以了解到每个远端用户发送的音频流的采样率、声道数、码率、丢包率、延时、抖动和卡顿时长等一些信息。

void HWEngineEventHandler::onRemoteAudioStatsNotify(const HRTCRemoteAudioStats * remoteStats, unsigned int remoteStatsCount) {
}

本地视频流统计信息上报

onLocalVideoStatsNotify回调向您报告当前本地视频流统计信息,包括帧率、码率、延时、抖动等信息。

void HWEngineEventHandler::onLocalVideoStatsNotify(const HRTCLocalVideoStats * localStats, unsigned int localStatsCount) {
}

远端视频流状态监控

onRemoteVideoStatsNotify回调向您报告当前远端视频流统计信息,包括帧率、码率、延时、抖动和卡顿时长等信息。

void HWEngineEventHandler::onRemoteVideoStatsNotify(const HRTCRemoteVideoStats * remoteStats, unsigned int remoteStatsCount) {
}

视频流状态监控

onVideoStatsNotify回调上报视频流的状态,包括本地上行视频流和远端用户的下行视频流状态。

void HWEngineEventHandler::onVideoStatsNotify(HRTCLocalVideoStats *localStats, unsigned int localStatsCount, HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount) {
    for (unsigned int i = 0; i < localStatsCount; i++) {
        HRTCLocalVideoStats stats;
        memcpy_s(&stats, sizeof(stats), &localStats[i], sizeof(HRTCLocalVideoStats));
        //本地视频流信息刷新到统计界面上
    }
    for (unsigned int i = 0; i < remoteStatsCount; i++) {
        HRTCRemoteVideoStats stats;
        memcpy_s(&stats, sizeof(stats), &remoteStats[i], sizeof(HRTCRemoteVideoStats));
        //远端视频流信息刷新到统计界面上
    }
}

音频流状态监控

onAudioStatsNotify回调上报音频流的状态,包括本地上行音频流和远端用户的下行音频流状态。

void HWEngineEventHandler::onAudioStatsNotify(HRTCLocalAudioStats *localStats, unsigned int localStatsCount, HRTCRemoteAudioStats *remoteStats, unsigned int remoteStatsCount) {
    for (unsigned int i = 0; i < localStatsCount; i++) {
        HRTCLocalAudioStats stats;
        memcpy_s(&stats, sizeof(stats), &localStats[i], sizeof(HRTCLocalAudioStats));
        //本地音频流信息刷新到统计界面上
    }
    for (unsigned int i = 0; i < remoteStatsCount; i++) {
        HRTCRemoteAudioStats stats;
        memcpy_s(&stats, sizeof(stats), &remoteStats[i], sizeof(HRTCRemoteAudioStats));
        //远端音频流信息刷新到统计界面上
    }
}

相关文档