如何在通话前进行网络质量检测

更新时间:2025-03-28 02:31:20

本文将为您介绍如何在通话前进行网络质量检测。

功能介绍

ARTC SDK 提供通话前进行网络质量检测的功能,用于在加入频道前探测本地网络质量。这一功能对于保障实时音视频通话的稳定性与流畅性至关重要,能够提前发现潜在的网络问题,让用户及时采取措施优化网络,避免在通话过程中出现卡顿、掉帧、声音中断等不良体验。

功能原理

image

iOS接口为例,ARTC SDK提供了startLastmileDetect方法,用于在加入频道之前探测本地网络质量,并返回有关网络质量评分和网络质量统计信息。参考以下步骤进行网络质量探测:

  1. 在加入频道之前,调用startLastmileDetect启动网络探测。您需要在AliRtcNetworkQualityProbeConfig中设置探测对象和预期最高码率。

  2. 调用该方法后,SDK会触发以下回调:

    • onLastmileDetectResultWithQuality:在调用startLastmileDetect方法2秒后触发。该回调通过打分反馈上下行网络质量,更贴近主观感受。

    • onLastmileDetectResultWithBandWidth:在调用startLastmileDetect方法30秒后触发。该回调返回网络状况的实时统计数据,包括丢包率、网络抖动和可用带宽,更加客观。

  3. 获取网络质量统计信息后,调用stopLastmileDetect方法停止本地网络检测。

代码示例

一、发起网络质量探测

Android
iOS

startNetworkQualityProbeTest - 开启网络质量探测

public abstract int startNetworkQualityProbeTest(AlirtcNetworkQualityProbeConfig config);

startLastmileDetect - 开始网络质量探测

- (int)startLastmileDetect:(AliRtcNetworkQualityProbeConfig *_Nonnull)config;

二、接收网络质量探测回调

Android
iOS

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;

三、停止网络质量探测

Android
iOS

stopNetworkQualityProbeTest - 停止网络质量探测

public abstract int stopNetworkQualityProbeTest();

stopLastmileDetect - 停止网络质量探测

- (int)stopLastmileDetect;
  • 本页导读
  • 功能介绍
  • 功能原理
  • 代码示例
  • 一、发起网络质量探测
  • 二、接收网络质量探测回调
  • 三、停止网络质量探测