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