通话质量监测
功能描述
加入频道后,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) { //远端音频信息数据处理 } }); }