本文将为您介绍如何在通话前进行网络质量检测。
功能介绍
ARTC SDK 提供通话前进行网络质量检测的功能,用于在加入频道前探测本地网络质量。这一功能对于保障实时音视频通话的稳定性与流畅性至关重要,能够提前发现潜在的网络问题,让用户及时采取措施优化网络,避免在通话过程中出现卡顿、掉帧、声音中断等不良体验。
功能原理
以iOS接口为例,ARTC SDK提供了startLastmileDetect
方法,用于在加入频道之前探测本地网络质量,并返回有关网络质量评分和网络质量统计信息。参考以下步骤进行网络质量探测:
在加入频道之前,调用
startLastmileDetect
启动网络探测。您需要在AliRtcNetworkQualityProbeConfig
中设置探测对象和预期最高码率。调用该方法后,SDK会触发以下回调:
onLastmileDetectResultWithQuality:在调用
startLastmileDetect
方法2秒后触发。该回调通过打分反馈上下行网络质量,更贴近主观感受。onLastmileDetectResultWithBandWidth:在调用
startLastmileDetect
方法30秒后触发。该回调返回网络状况的实时统计数据,包括丢包率、网络抖动和可用带宽,更加客观。
获取网络质量统计信息后,调用
stopLastmileDetect
方法停止本地网络检测。
代码示例
一、发起网络质量探测
startNetworkQualityProbeTest - 开启网络质量探测
public abstract int startNetworkQualityProbeTest(AlirtcNetworkQualityProbeConfig config);
startLastmileDetect - 开始网络质量探测
- (int)startLastmileDetect:(AliRtcNetworkQualityProbeConfig *_Nonnull)config;
二、接收网络质量探测回调
onNetworkQualityProbeTest - 网络质量探测的回调,开始探测3s左右提供该回调
onNetworkQualityProbeTestResult - 网络质量探测的结果回调,探测30s左右提供该回调
public void onNetworkQualityProbeTest(AliRtcNetworkQuality quality){}
public void onNetworkQualityProbeTestResult(int code, AliRtcEngine.AlirtcNetworkQualityProbeResult result){}
onLastmileDetectResultWithQuality - 网络质量探测回调
onLastmileDetectResultWithBandWidth - 网络质量探测结果的回调
- (void)onLastmileDetectResultWithQuality:(AliRtcNetworkQuality)networkQuality;
- (void)onLastmileDetectResultWithBandWidth:(int)code result:(AliRtcNetworkQualityProbeResult* _Nonnull)result;
三、停止网络质量探测
stopNetworkQualityProbeTest - 停止网络质量探测
public abstract int stopNetworkQualityProbeTest();
- (int)stopLastmileDetect;
- 本页导读
- 功能介绍
- 功能原理
- 代码示例
- 一、发起网络质量探测
- 二、接收网络质量探测回调
- 三、停止网络质量探测