實作高品質的空間音訊和頭部追蹤

Android 13 提供空間音訊支援功能, API 讓應用程式開發人員瞭解目前的手機組合 導入功能、連接的耳機和使用者設定,才能播放 多聲道音訊內容

原始設備製造商 (OEM) 可提供空間音訊效果,並支援頭部追蹤 使用新的音訊管道時,可滿足所需的效能和延遲時間 基礎架構和感應器架構的整合 HID 通訊協定會指定 透過藍牙連接頭部追蹤裝置,做為 HID 之用 搭載 Android 感應器架構的裝置詳情請參閱空間音訊和頭部追蹤 進一步瞭解相關規定和驗證。

本頁面的規範適用於採用 新的空間音訊 API 和音訊架構,且搭載的 Android 手機執行 搭載 Android 13 以上版本和相容的耳機: 頭部追蹤感應器

動態和靜態空間音訊模式實作指南

靜態空間音訊不需要追蹤頭部動作,因此請特別留意 頭戴式裝置不需要的功能。所有有線和無線耳機都能支援 包括靜態空間音訊

API 實作

原始設備製造商 (OEM) 必須導入 Spatializer 類別。實作必須通過 CTS 測試Spatializer 類別導入。

健全的 API 實作能確保應用程式開發人員 特定媒體或 串流服務也能依賴整個生態系統中的一致行為。 根據裝置功能、目前的轉譯狀態,挑選最佳內容 包括背景資訊、背景資料和使用者選擇

使用者介面

導入 Spatializer 之後 類別,驗證 UI 是否具有下列行為:

  • 透過支援空間音訊功能的耳機配對時,藍牙裝置 這個耳機的設定會顯示「空間音訊」切換按鈕:

    空間音訊-ui

    圖 1. 空間音訊設定。

  • 你可以在耳機中斷連線時調整設定。

  • 最初配對耳機後,空間音訊的預設狀態為 設為 enabled

  • 無論啟用還是停用,使用者選取的狀態都會保留在手機中 重新啟動或解除配對及配對耳機。

功能行為

音訊格式

當下列音訊格式發生時,空間化效果「必須」轉譯 空間音訊已啟用,且轉譯裝置為有線或藍牙 耳機:

  • AAC、5.1 頻道
  • 原始 PCM、5.1 個管道

為了提供更優質的使用者體驗,我們強烈建議您支援下列項目 格式/管道設定:

  • Dolby Digital Plus
  • 5.1.2、7.1、7.1.2、7.1.4 頻道

立體聲內容播放

立體內容不得透過空間化效果引擎算繪, 如果啟用空間音訊功能如果實作方式允許播放立體聲內容 空間化,必須提供自訂 UI,讓使用者切換這項功能 即可輕鬆開啟或關閉啟用空間音訊功能後,必須能夠 轉化成空間化多頻道內容 無需變更使用者設定, 重新連線或重新設定耳機。空間音訊的轉場效果 內容和立體聲內容必須盡可能減少音訊幹擾,

用途轉換和並行

處理特殊用途的方式如下:

  • 通知必須與空間音訊內容混合 以便模擬 透過非空間音訊內容呈現的效果
  • 鈴聲必須與空間音訊內容混合。不過 根據預設,當背景播放音訊時 目前播放鈴聲。
  • 接聽或撥打電話或視訊會議時, 音訊必須暫停播放。空間音訊播放必須在相同的情況下繼續播放 通話結束時的空間音訊設定。重新設定音訊路徑 空間音訊模式切換為對話模式必須快速達成 並順暢操作,不會影響通話體驗。

透過揚聲器轉譯

但無法透過揚聲器的音訊空間化功能 (或採用隔音模式) 執行這項操作 這通常代表交易 不會十分要求關聯語意

頭部追蹤導入指南

本節著重說明有特定頭戴式耳機的動態空間音訊 Google Cloud 就是最佳選擇

使用者介面

導入並配對空間音訊功能並配對後, 您的 UI 具有下列行為:

  • 在藍牙裝置設定中,當 耳機已啟用,下方會顯示「頭部追蹤」設定 空間音訊

    Ht-ui

    圖 2. 空間音訊和頭部追蹤設定。

  • 停用空間音訊時,「頭部追蹤」設定「不會」顯示。

  • 最初配對耳機後,頭部追蹤的預設狀態為 設為 enabled

  • 使用者選取的狀態 (無論啟用與否) 都必須透過 手機重新啟動,或是解除配對耳機與配對。

功能行為

回報頭部姿勢

  • 頭部姿勢資訊 (以 x、y 和 z 為單位),從耳機傳送到 Android 裝置必須快速反映使用者的頭部動作 準確反映
  • 透過藍牙連結回報頭部姿勢時必須遵循我們定義的通訊協定 高於 HID
  • 耳機必須將頭部追蹤資訊傳送到 Android 手機 使用者必須在藍牙裝置設定中啟用頭部追蹤功能 第一種是使用無代碼解決方案 AutoML 透過使用者介面建立機器學習模型

成效

回覆太慢

頭部追蹤延遲時間是指從頭部動作開始經過的時間 將初始測量單位 (IMU) 擷取到耳機傳訊器的 偵測這種動作造成的聲變化頭部追蹤延遲時間 不得超過 150 毫秒。

頭戴式裝置回報率

開啟頭部追蹤時,頭戴式裝置必須回報頭部姿勢, 建議的定期週期為約 20 毫秒避免觸發過時內容 輸入偵測邏輯的是 藍牙,兩次更新之間的最長時間不得超過 40 毫秒。

電源最佳化

為了讓功能發揮最大效益,我們建議在實作中使用 藍牙轉碼器切換延遲時間模式選擇機制 音訊 HAL藍牙音訊 HAL 存取 API

音訊架構和藍牙堆疊的 Android 開放原始碼計畫已實作完畢 以及控制轉碼器切換的信號。如果原始設備製造商 (OEM) 的廣告導入方式 藍牙音訊的主要音訊 HAL (稱為轉碼器卸載模式), 原始設備製造商 (OEM) 必須確保音訊 HAL 可在音訊 HAL 之間轉發這些訊號 和藍牙堆疊

轉碼器切換

在開啟動態空間音訊和頭部追蹤功能時,請使用低延遲轉碼器 Opus。播放無空間內容時 音訊內容,請使用低功率轉碼器,例如 進階音訊編碼 (AAC)

切換轉碼器時,請遵循下列規則:

  • 僅追蹤下列音訊 HAL 輸出串流的活動:
    • 專屬空間化器輸出
    • 媒體專屬串流,例如深度緩衝區或壓縮卸載 播放
,瞭解如何調查及移除這項存取權。
  • 當所有相關串流皆閒置,且空間器串流開始時,請啟動 藍牙串流 (將 isLowLatency 設為 true) 可指定低延遲轉碼器。

  • 當所有相關串流均閒置且媒體串流開始時,請啟動 將 isLowLatency 設為 false 的藍牙串流,用於指定低功耗轉碼器。

  • 如果媒體串流已啟用,且空間器串流已開始,請重新啟動 isLowLatency 設為 true 的藍牙串流。

頭戴式耳機必須同時支援低延遲和低功耗 並實作標準轉碼器選擇通訊協定。

調整延遲時間模式

選取低延遲轉碼器時,系統就會調整延遲時間模式。

視頭部追蹤功能開啟或關閉而定,延遲模式調整功能會使用 可減少或增加延遲時間,以達到最佳效能 降低延遲、電源和音訊品質空間音訊功能 已啟用並已啟用頭部追蹤,系統就會選用低延遲模式。時間 空間音訊已啟用,頭部追蹤功能已停用 (免費延遲模式) 已選取延遲時間調整功能可大幅節約耗電量並增加。 僅使用靜態空間音訊時,藍牙音訊連結的穩定性為 。最常見的延遲調整機制是 是藍牙耳機中抖動緩衝區空間的延伸。