You need to enable JavaScript to run this app.
导航

Native 端通话前网络质量检测

最近更新时间2023.04.20 16:49:21

首次发布时间2022.01.27 18:19:37

为提供更好的音视频通话体验,你可以在用户正式通话前进行网络质量检测,并根据检测质量的判定结果采取相应的措施。例如,降低码率,或者通过 UI 提醒用户切换到更稳定的网络环境。
自 3.31.0 版本,RTC Native SDK 支持在通话前进行网络质量探测。探测结果提供网络质量数据,包含了主观网络评分和客观的网络质量指标,例如,往返时延、上下行丢包率、上下行网络带宽等。

前提条件

你已经集成 RTC SDK,实现了基础音视频通话功能。

功能实现

说明:不同平台的实现步骤相同,但接口名称、参数名称可能略有差异。以下指南以 Android RTC SDK 为例,参考对应平台的 API 文档获取更多信息。

  1. 创建引擎后,开始通话前,调用 startNetworkDetection 进行网络质量探测。
    • 调用该方法时,你需要指定期望的最大上、下行码率。你可以参考视频 Profile 一览表估算所需的带宽后,填写期望带宽。如果你需要发布或订阅多路流时,请将各条流对应的码率进行累加。
    • 调用该方法时,你可以指定需用探测的网络类型为上行或下行。
  2. 成功调用该方法后,SDK 将在 2 秒一次的 onNetworkDetectionResult 回调中提供网络质量评分和往返时延、丢包率、网络带宽和网络抖动。
    如果网络探测失败,SDK 将通过一次 onNetWorkDetectionStopped 回调通知用户探测失败及失败的原因。
  3. 开始通话后,网络质量探测将自动停止,你也可以调用 stopNetworkDetection 主动停止通话前网络质量探测。
API 参考
平台AndroidiOSMacWindows
开启通话前网络探测startNetworkDetectionstartNetworkDetection:uplinkBandwidth:downlink:downlinkBandwidth:--startNetworkDetection
关闭通话前网络探测stopNetworkDetectionstopNetworkDetection--stopNetworkDetection