すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo Live:通話前のネットワーク品質のテスト

最終更新日:Feb 14, 2026

本トピックでは、通話前にネットワーク品質をテストする方法について説明します。

機能紹介

ARTC SDK は、チャンネルに参加する前にローカルのネットワーク品質をテストする機能をサポートしています。これにより、潜在的なネットワーク問題を事前に特定し、ネットワークを最適化することで、通話中のカクつき、コマ落ち、音声の中断を防ぎ、安定したスムーズなリアルタイムの音声・映像コミュニケーションを確保できます。

サンプルコード

Android でのネットワーク品質検知Android/ARTCExample/AdvancedUsage/src/main/java/com/aliyun/artc/api/advancedusage/PreJoinChannelTest/PreJoinChannelTestActivity.java

iOS でのネットワーク品質検知の実行iOS/ARTCExample/AdvancedUsage/PreJoinChannelTest/PreJoinChannelTestVC.swift

仕組み

image

iOS プラットフォームを例として、ARTC SDK はチャンネルに参加する前にローカルのネットワーク品質を検知するための startLastmileDetect メソッドを提供します。このメソッドは、ネットワーク品質のスコアと統計情報を返します。手順は次のとおりです:

  1. チャンネルに参加する前に、startLastmileDetect を呼び出してテストを開始します。AliRtcNetworkQualityProbeConfig で、テスト対象と予想される最大ビットレートを設定します。

  2. このメソッドを呼び出すと、SDK は次のコールバックをトリガーします:

    • onLastmileDetectResultWithQualitystartLastmileDetect の 2 秒後にトリガーされます。アップストリームとダウンストリームのネットワーク品質スコアを返し、主観的な評価を反映します。

    • onLastmileDetectResultWithBandWidthstartLastmileDetect の 30 秒後にトリガーされます。パケット損失率、ネットワークジッター、利用可能な帯域幅などのリアルタイムのネットワーク統計情報を返し、客観的な評価を反映します。

  3. ネットワーク品質の統計情報を取得した後、stopLastmileDetect を呼び出してテストを停止します。

コード例

ネットワーク品質テストの開始

Android

startNetworkQualityProbeTest 操作を呼び出します:

public abstract int startNetworkQualityProbeTest(AlirtcNetworkQualityProbeConfig config);

iOS

startLastmileDetect - ラストマイルのネットワーク品質検知を開始

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

Windows

AliRtcNetworkProbeConfig config;
config.probeUplink = true;    // アップストリームネットワークをプローブ
config.probeDownlink = true;  // ダウンストリームネットワークをプローブ

rtcEngine.startLastmileDetect(config);

II. ネットワーク品質検知コールバックの受信

Android

onNetworkQualityProbeTest:テスト開始から約 3 秒後にトリガーされ、ネットワーク品質の初期的な情報を提供します。

onNetworkQualityProbeTestResult — ネットワーク品質プローブの結果を返すコールバック。このコールバックは、プローブ開始から約 30 秒後にトリガーされます。

public void onNetworkQualityProbeTest(AliRtcNetworkQuality quality){}

public void onNetworkQualityProbeTestResult(int code, AliRtcEngine.AlirtcNetworkQualityProbeResult result){}

iOS

onLastmileDetectResultWithQuality - ネットワーク品質検知結果のコールバック

onLastmileDetectResultWithBandWidth:テスト開始から約 30 秒後にトリガーされ、ネットワーク品質の詳細を提供します。

- (void)onLastmileDetectResultWithQuality:(AliRtcNetworkQuality)networkQuality;

- (void)onLastmileDetectResultWithBandWidth:(int)code result:(AliRtcNetworkQualityProbeResult* _Nonnull)result;

Windows

// ネットワーク品質検知コールバックの処理 (onNetworkQualityChanged を置き換え)
void OnLastmileDetectResultWithQuality(AliEngineNetworkQuality networkQuality) override {
    std::string message = getNetworkQualityString(networkQuality);
    networkTestResultText += "Network detection quality: " + message + "\n";
    std::cout << "=== Network quality detection callback ===" << std::endl;
    std::cout << networkTestResultText << std::endl;
}


// ラストマイルネットワーク検知結果コールバックの処理
void onLastmileDetectResultWithBandWidth(int code,
                                       const AliRtcNetworkProbeResult& result) override {
    std::string message = buildNetworkTestResultMessage(code, result);
    networkTestResultText += message + "\n";
    std::cout << "=== Lastmile detection result callback ===" << std::endl;
    std::cout << networkTestResultText << std::endl;
}

ネットワーク品質検知の停止

Android

stopNetworkQualityProbeTest - ネットワーク品質プローブテストを停止

public abstract int stopNetworkQualityProbeTest();

iOS

stopLastmileDetect 操作を呼び出します:

- (int)stopLastmileDetect;

Windows

rtcEngine.stopLastmileDetect();