音訊切換認證認證指南

準備認證

  • 準備測試裝置。
    • 您需要 5 部 Android 裝置。
      • 這些裝置必須包括:
        • 至少一個 Android T (13) 和一個 Android V (15)。
        • 至少有一台 Samsung 和一部 Pixel。
        • 例如:
          • 1 部 OnePlus (Android 10)。
          • 3 Samsung (Android 11、12、13)。
          • 1 部 Pixel (Android 15)。
    • 沒有音訊自動切換功能的裝置:
      • 任何支援 iPhone、PC、藍牙 (BT) 的筆記型電腦或 Android 手機 已停用音訊自動切換功能
        • 您可以透過藍牙裝置詳細資訊關閉音訊自動切換功能 以及環境敘述
      • 除了 5 部測試手機外,多點 (MP) 測試案例 2.8 還需要一台沒有音訊自動切換功能的裝置。
  • 使用測試帳戶加入Audio switch 測試群組,即可在測試手機上顯示偵錯通知。

    • 這也可讓 Google 透過 Google Analytics 收集測試資料。

經典模式 (支援 A2DP + HFP)

  • 請確認所有 Android 裝置都已安裝 GmsCore 23.xx.xx 以上版本。

BLE 和 LE Audio

  • 至少兩支參考電話必須支援 LE Audio。
    • 例如,一支支援 LE Audio 的 Samsung 手機和一支 Pixel 手機。
  • 確認所有 Android 裝置皆搭載 GmsCore 24.33.xx 以上版本 已安裝。

認證標準

  • 所有測試案例的目標切換成功率必須超過 95%。
  • 在需要切換的測試中,至少在 75% 的情況下,設定檔連線和切換器的活動狀態必須在觸發音訊事件後的 3 秒內完成。

Classic 搭配 A2DP+HFP

自我測試必須採用以下組合進行:

  • 手機 A=Android S (12) + 手機 B=Android T (13)
  • 手機 A=Android T (13) + 手機 B=Android S (12)

BLE 和 LE Audio

必須以下列組合執行自檢測試:

  • 電話 A:BT 經典款、手機 B:BT 經典
  • 手機 A:LE Audio、手機 B:經典藍牙
  • 手機 A:BT 經典款、手機 B:LE Audio

如有需要,支援雙 LE Audio 連線的供應商應測試:

  • 手機 A:LE Audio、手機 B:LE Audio

測試指南

測試中的裝置 (DUT) 準備作業

  • 請確認 BT 裝置先前未與任何已登入測試 Google 帳戶的手機配對。
    • 如果裝置已經與測試用的 Google 帳戶配對,則執行 才能清除配對程序:
      • 在配對的裝置上:
        • 前往藍牙設定。
        • 選擇 [忘記裝置]。
        • 開啟飛航模式再關閉。
    • 確認「自動儲存裝置」已開啟。
      • 這個切換鈕預設為關閉。
      • 您可以在「設定」>「Google」>「裝置」>「已儲存的裝置」(每個 DUT 一個) 中找到這個選項。
    • 讓藍牙裝置進入配對模式。
    • 與初始藍牙裝置 (A) 配對。
    • 將後續藍牙裝置與其他裝置 (B、C、D 等) 配對。

範圍

  • 所有耳機都會執行音訊切換器自檢測範本中的各個分頁中的測試。
  • 僅支援 SinglePoint (SP) 模式的頭戴式裝置會執行下列指令:
    • 「Generic_test」(一般測試) 分頁。
  • 支援 MP 模式的耳機會執行以下操作:
    • 「Generic_test」(一般測試) 分頁。
    • 「Multipoint_only」分頁。
  • 可切換至 SP 模式的 MP 耳機可執行下列操作:
    • 「一般測試」分頁,關閉 MP。
    • 開啟 MP 的「Generic_test」(一般測試) 分頁。
    • 開啟多點連線的「Multipoint_only」分頁。

完成自主測試和自我測試報告

經典模式 (支援 A2DP + HFP)

  • 裝置 B 將是主要 DUT。
    • 在「手機」中輸入裝置 B 的詳細資料以及「OS」頂端的欄位 範本

測試案例範例:

  • 測試手機:

    • 裝置 1:Samsung (Android 13)
    • 裝置 2:Pixel (Android 12 或 13) 和其他裝置。
  • 已執行的測試:

    • 執行 1。裝置 A=Samsung S10+ (12)、裝置 B=Pixel 7 Pro (13) 第 D 欄:Phone=Pixel 7 Pro、OS=Android 13
    • 執行 2.裝置 A=Pixel 7 Pro (13)、裝置 B=Pixel 6 (12) E 欄:Phone=Pixel 6、OS=Android 12

以下是自測範本中已完成的測試範例:

這張圖片顯示測試結果範例

BLE 和 LE Audio

  1. 裝置 A=Android V (15) + 裝置 B=Android T (13)
  2. 裝置 A=Android T (13) + 裝置 B=Android V (15)
  3. 裝置 A=Android T (13) + 裝置 B=Android S (12)
  4. 裝置 A=Android T (15) + 裝置 B=Android V (15)
  5. 裝置 B 將是主要 DUT。
    • 範本頂端的「Phone」和「OS」欄位中輸入裝置 B 的詳細資料。

測試案例範例:

  • 測試手機:

    • 裝置 1:Samsung (Android 13)
    • 裝置 2:Pixel (Android 15) 和其他裝置。
  • 已執行的測試:

    • [LEA+BT]:裝置 A=Pixel 8 (15)、裝置 B=Pixel 7 Pro (13) 欄 D: Phone=Pixel 7 Pro、OS=Android 13
    • [BT+LEA]:裝置 A=Pixel 7 (13),裝置 B=Pixel 8 (Android 15) 欄 E:手機=Pixel 8,OS=Android 15
    • [BT+BT]:裝置 A=Pixel 7 Pro (13),裝置 B=Samsung S10+ (12) 欄 E:手機=Samsung S10+,OS=Android 12
    • [LEA+LEA]:裝置 A=Pixel 8 (15)、裝置 B=Pixel 8 (15) 欄 E: 手機=Pixel 8、OS=Android 15

自我測試範本中已完成測試的範例:

這張圖片顯示測試結果範例

音訊事件:

  • 測試的 4 種音訊事件和建議測試應用程式如下:

    1. 撥號:
      1. 內建的電話應用程式。
    2. VoIP:任何 VoIP 應用程式皆可運作,例如:
      1. 音訊自動切換測試應用程式。
      2. FB Messenger。
      3. Line。
      4. WhatsApp。
      5. Google Meet
      6. Google Meet
    3. 媒體:任何音訊播放器皆可使用,例如:
      1. 音訊自動切換測試應用程式。
      2. YouTube Music。
      3. Apple Music。
      4. Spotify。
      5. Google 播客等開放原始碼功能中。
    4. 遊戲:
      1. 音訊自動切換測試應用程式。

偵錯資訊:

  • 加入 fp-sass-partner-test 群組。例如:

    • 最新狀態通知:

    圖 1:這張圖片顯示「最新狀態通知」訊息。

    • 無開關通知:

    圖 2:顯示「沒有切換通知」訊息。

    • 切換延遲通知:

    圖 3:顯示「切換延遲時間通知」撰寫新的電子郵件訊息

延遲時間評估

  • 切換延遲時間有兩種:
    1. 將藍牙設定檔連線至已中斷連線的 Seeker。
      • 這包括所有 SinglePoint 案例,以及部分目標 Seeker (裝置 B) 已中斷連線的 MP 案例。
    2. 切換已連結的 Seeker。
      • 這包括部分 MP 案例,其中目標 Seeker (裝置 B) 已連線。
  • 擷取延遲時間資訊的方式有兩種:
    1. 所有延遲時間都能由 ADB 指令轉儲。
      • 詳情請參閱傾印延遲時間一節。
      • 這個指令可以在作業結束後提供並記錄延遲時間 一個測試案例
    2. 使用音訊自動切換測試應用程式
      • 在切換後,在目標 Seeker 上執行的應用程式會顯示延遲時間。
      • 如果沒有切換按鈕,應用程式會顯示「no switch」的原因。

音訊自動切換測試應用程式:

  • 在自我測試期間使用應用程式觸發 VoIP/媒體/遊戲音訊事件 可以簡化測試設定,並縮短尋找人的事件延遲時間。
    • 您可以在這裡下載最新版本。
    • 如要測試 LE Audio VoIP 測試,必須手動啟用政策: >ADB 根 >adb shell 設定 putGlobal hide_api_policy 1 >ADB 重新啟動
  • 應用程式安裝:
    • 將 APK 複製到測試手機並開啟。
    • 或者,您也可以使用 adb install audio_test_app.apk
  • 如果系統顯示要求通知存取權的對話方塊,請按照下列步驟操作:
    1. 按一下「確定」
    2. 選擇「FP SASS test」在應用程式清單中
    3. 授予通知存取權。

應用程式總覽:

這張圖片是執行應用程式

  • 目標供應商

    • 點選這個按鈕後,系統會顯示已配對的藍牙裝置清單。選取要測試的項目。
    • 「Connect」和「Disconnect」按鈕的運作方式與藍牙設定的裝置詳細資料中的按鈕相同。
  • 目前狀態

    • 這個欄位會顯示求職者上次連線狀態 使用 BLE 廣告或事件串流的供應商。
    • 音訊切換偵錯通知也會顯示在這裡。
  • 跳轉者類型

    • 這個選項是用來在裝置間切換音訊串流。

音訊類型

經典模式 (支援 A2DP + HFP)

  • VoIP
    • 選取這個模式後,音訊模式就會變更為 AudioManager.MODE_IN_COMMUNICATION並撥號 AudioManager.startBluetoothSco,然後使用以下裝置播放音訊: USAGE_VOICE_COMMUNICATION
    • 串流類型為 STREAM_VOICE_CALL
    • 供應商連線狀態應會在 5 天內切換為 CONNECTED_HFP 秒內請求驗證碼。
  • 媒體
    • 選取這個模式將會播放支援 AVRCP 的音訊。音訊使用情況 類型為:USAGE_MEDIA
    • 供應器連線狀態應在 5 秒內切換為 CONNECTED_A2DP_WITH_AVRCP
    • 啟動或停止時,連線狀態可能會暫時切換為 CONNECTED_A2DP_ONLY
  • 遊戲
    • 選取這個模式會播放不支援 AVRCP 的音訊。音訊 用量類型為:USAGE_GAME
    • 供應器連線狀態應在 5 秒內切換為 CONNECTED_A2DP_ONLY

BLE 與 LE Audio

  • VoIP

    • 選取這個模式後,音訊模式就會變更為 AudioManager.MODE_IN_COMMUNICATION和透過以下裝置播放音訊: USAGE_VOICE_COMMUNICATION
    • 串流類型為 STREAM_VOICE_CALL
    • 供應器連線狀態應在 5 秒內切換為 CONNECTED_LE_AUDIO_CALL
  • 媒體

    • 選取這個模式後,系統會播放串流類型為 STREAM_MUSIC 的音訊。音訊用途類型:USAGE_MEDIA
    • 供應器連線狀態應在 5 秒內切換為 CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL
    • 連線狀態可能會暫時切換至 開始或停止時,請CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL
  • 遊戲

    • 選取這個模式會播放使用者沒有直接互動的音訊 完全由您掌控音訊用途類型:USAGE_GAME
    • 供應器連線狀態應在 5 秒內切換為 CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL
  • 播放和停止按鈕

    • 「播放」和「停止」按鈕可開始或停止音訊。
  • 切換結果

    • 這個欄位會顯示「連線」和「切換」啟用的延遲時間。如果系統觸發音訊事件但未切換,也會顯示拒絕切換的原因。
    • 延遲時間的測量單位為毫秒 (ms)。
    • 一般來說,延遲時間是從音訊切換觸發事件開始,到接收 BT 設定檔連線或通知多點切換事件的時間。
    • 由供應商觸發的切換會從音訊開始起算,測量延遲時間。

傾印延遲時間

  • 下列指令可讓使用者在執行手動測試時擷取延遲時間測量值: adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • 延遲時間衡量指標會顯示在 NearbyDeviceManager's SwitchHistory 專區下方:
            NearbyDeviceManager
              Nearby Sass device count: 1
                Sass device - address:XX:XX:XX:XX:XX:XX, name:Googler's Pixel Buds, accountKey:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, modelId:6edaf7
                  SwitchHistory
                    15:30:21:166 - 15:30:25:201, latency 3035ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:34:58:568 - 15:34:58:568, latency 0ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, HFP
                    15:36:26:615 - 15:36:31:603, latency 1988ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:37:56:108 - 15:37:56:250, latency 142ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, A2DP"
  • GmsCore 無法測量的任何開關 (例如 HFP 使用中開關) 將 有 0 毫秒的延遲時間

記錄模式的參考:

延遲測試記錄檔範例

已知問題:

以下是 Seeker 造成的已知錯誤:

  1. 遊戲音訊切換錯誤。
    • Samsung 手機會將連線狀態設為 播放時為CONNECTED_A2DP_WITH_AVRCP,而非CONNECTED_A2DP_ONLY 遊戲。
    • 部分遊戲 (例如《糖果傳奇》) 可能會重播背景音樂,並觸發 新的音訊事件。連結的手機可能會在每部開啟遊戲的手機上不斷切換音訊。