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

通话质量监测

功能描述

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

上报接口

通话质量上报

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

- (void)onNetworkQualityNotify:(NSArray <HWRtcQualityInfo *> * _Nullable)upStreamQualityArray
       downStreamQualityInfo:(NSArray <HWRtcQualityInfo *> * _Nullable)downStreamQualityArray
{
    dispatch_async(dispatch_get_main_queue(),^{
        for (HWRtcQualityInfo *info in upStreamQualityArray) {
            //本地网络质量信息数据处理
        }
        for (HWRtcQualityInfo *info in downStreamQualityArray) {
            //远端网络质量信息数据处理
        }
    });
}

本地音频流统计信息报告

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

- (void)onLocalAudioStatsNotify:(NSArray <HWRtcLocalAudioStats *> * _Nullable)localAudioStatsArray{
    dispatch_async(dispatch_get_main_queue(), ^{
        for (HWRtcLocalAudioStats *audioStatsInfo in localAudioStatsArray) {
            //本地音频信息数据处理
        }
    });
}

远端音频流统计信息报告

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

- (void)onRemoteAudioStatsNotify:(NSArray <HWRtcRemoteAudioStats *> * _Nullable)remoteAudioStatsArray{
    dispatch_async(dispatch_get_main_queue(), ^{
        for (HWRtcRemoteAudioStats *audioStatsInfo in remoteAudioStatsArray) {
           //远端音频信息数据处理
        }
    });
}

本地视频流统计信息上报

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

- (void)onLocalVideoStatsNotify:(NSArray <HWRtcLocalVideoStats *> * _Nullable)localVideoStatsArray{
    dispatch_async(dispatch_get_main_queue(), ^{
        for (HWRtcLocalVideoStats *videoStatsInfo in localVideoStatsArray) {
           //本地视频信息数据处理
        }
    });
}

远端视频流状态监控

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

-(void)onRemoteVideoStatsNotify:(NSArray <HWRtcRemoteVideoStats *> * _Nullable)remoteVideoStatsArray{
    dispatch_async(dispatch_get_main_queue(), ^{
        for (HWRtcRemoteVideoStats *videoStatsInfo in remoteVideoStatsArray) {
           //处理远端视频信息
        });
    }
}

视频流状态监控

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

- (void)onVideoStatsNotify:(NSArray<HWRtcVideoStatsInfo *> *)videoStatsArray remoteVideoInfo:(NSArray<HWRtcVideoStatsInfo *> *)remoteVideoStatsInfos
{
    dispatch_async(dispatch_get_main_queue(), ^{
        for (HWRtcVideoStatsInfo *videoStatsInfo in videoStatsArray) {
            //本地视频信息数据处理
        }
        for (HWRtcVideoStatsInfo *remoteVideoStatsInfo in videoStatsArray) {
            //远端视频信息数据处理
        }
    });
}

音频流状态监控

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

- (void)onAudioStatsNotify:(NSArray<HWRtcAudioStatsInfo *> *)audioStatsArray remoteAudioInfo:(NSArray<HWRtcAudioStatsInfo *> *)remoteAudioStatsInfos
{https://support.huaweicloud.com/csdk-rtc/rtc_05_0167.html
    dispatch_async(dispatch_get_main_queue(), ^{
        for (HWRtcAudioStatsInfo *audioStatsInfo in audioStatsArray) {
            //本地音频信息数据处理
        }
        for (HWRtcAudioStatsInfo *remoteAudioStatsInfo in remoteAudioStatsInfos) {
            //远端音频信息数据处理
        }
    });
}

相关文档