藍牙 (BT) 低功耗 (LE) 音訊引進非同步連線導向邏輯 (LE-ACL) 和等時 (LE-ISO) 邏輯傳輸機制,用於頭部追蹤 (HT) 資料。
Android 15 支援 HT 的延遲模式調整,這取決於是否使用 LE-ACL 或 LE-ISO 傳輸機制。
本頁說明音訊架構、音訊 HAL 和藍牙堆疊如何互動,以探索及選取主機和耳機支援的 LE-ACL 或 LE-ISO 傳輸機制。
支援 LE-ACL 和 LE-ISO
Android 15 透過供應商定義的系統屬性、音訊 HAL 延遲模式和空間器連線模式,支援 LE-ACL 和 LE ISO 傳輸機制。
系統屬性
電話供應商實作項目會在 bluetooth.core.le.dsa_transport_preference
系統屬性中列出支援的傳輸機制。這個值是逗號分隔的字串清單,列出支援的傳輸方式,並依偏好順序排列:
le-acl
:當慣性測量單元 (IMU) 資料透過感應器堆疊回報時,使用 LE-ACL 傳輸。iso-hw
:ISO 傳輸功能,可將 HT 資料直接從藍牙控制器傳送至音訊 DSP 中的空間化器。iso-sw
:當 IMU 資料透過感應器堆疊回報時,沒有隧道功能的 ISO 傳輸。
延遲模式
在 BT LE 音訊的情況下,BT 堆疊向音訊 HAL 和音訊架構指出支援的延遲模式的機制,與為 BT Classic (A2DP) 定義的機制相同。音訊 HAL 會根據目前選取的音訊裝置,回報支援的延遲模式。
A2DP 實作僅支援 FREE
和 LOW_LATENCY
模式。
相反地,針對 BT LE 音訊,音訊 HAL 中定義了下列延遲模式,以支援新增 LE-ACL 和 LE-ISO 傳輸機制:
FREE
:這個值表示延遲時間沒有特定限制。當系統不支援低延遲 (由 HAL 指出),或 HT 未啟用 (由架構指出) 時,就會使用這個模式。LOW
:這個值表示延遲時間相對較短 (例如低於 100 毫秒),且與 HT 作業相容。如果系統支援低延遲,且會透過 ACL 通訊協定 (以 HAL 表示) 傳輸 HID,或 HT 為有效狀態且沒有其他可用的低延遲模式時 (以架構表示),就可以使用這個模式。DYNAMIC_SPATIAL_AUDIO_SOFTWARE
:符合下列其中一項條件時,即使用此模式:- 當系統支援低延遲時,HID 會透過 ISO 通訊協定傳送,且無法將 HID 中繼至空間化效果引擎 (由 HAL 指出)。
- 當 HT 處於啟用狀態,且音訊架構在提供 HID 資料給空間化效果引擎時使用 ISO 通訊協定 (由架構指出)。
在這個模式中,架構中的 HT 運算程式庫會對 IMU 資料執行所有預先處理作業,並與手機感應器指示的手機動作進行調和。
DYNAMIC_SPATIAL_AUDIO_HARDWARE
:在符合下列任一條件時,系統會使用這個模式:- 支援低延遲時,HID 會透過 ISO 通訊協定傳送,且 HID 可傳送至空間化效果引擎 (由 HAL 指出)。
- 當 HT 處於活動狀態,且在將 HID 資料傳送至空間化效果引擎時使用 ISO 通訊協定 (由架構指出)。
在這個模式中,空間化效果引擎會直接從 BT 堆疊或 BT 控制器接收未經處理的 IMU 資料。空間化效果實作會對 IMU 資料執行所有預先處理作業,並與手機感應器所指示的手機動作進行調和。
延遲模式列舉會對應至 Spatializer.cpp
中的 bluetooth.core.le.dsa_transport_preference
系統屬性。
支援空間化器
音訊政策服務中的 spatializer 控制器會控管 LE 音訊的 HT 傳輸協定選項。空間化效果引擎實作項目表示支援使用 HeadTracking.ConnectionMode
功能的 HT 資料通道。
支援的 HT 連線模式如下:
FRAMEWORK_PROCESSED
:音訊架構會以頭對頭向量格式,將經過預處理的 IMU 資料提供給 HAL。這個預設模式與 BT 傳統模式的目前模式相對應。DIRECT_TO_SENSOR_SW
:空間化效果引擎會透過感應器軟體堆疊直接連結至感應器。音訊架構只會控制感應器的啟用狀態。不使用 AOSPlibheadtracking
IMU 資料預先處理或 DSP 卸載空間化器的軟體實作項目,可以使用DIRECT_TO_SENSOR_SW
模式。DIRECT_TO_SENSOR_TUNNEL
:空間化效果引擎會透過硬體通道直接連線至感應器。音訊架構只會控制感應器的啟用狀態。DSP 卸載的空間化器實作可使用DIRECT_TO_SENSOR_TUNNEL
模式。
延遲時間模式選項
該架構會從 HAL 回報的支援延遲模式清單中選取延遲模式。系統會根據目前的 HT 啟用狀態、目前的 spatializer 支援,以及供應商指定的系統屬性 (用於在傳輸機制之間建立優先順序),設定延遲模式。
架構會在 selectHeadtrackingConnectionMode_l
中使用下列程序選取延遲模式:
- 架構會從
bluetooth.core.le.dsa_transport_preference
系統屬性載入傳輸偏好設定。 - 系統會根據步驟 1 中載入的清單篩選及排序音訊 HAL 回報支援的延遲時間模式。
- 如果最高優先順序的低延遲模式為
iso-hw
,且空間化器實作支援直接感應器連線 (也就是DIRECT_TO_SENSOR_SW
或DIRECT_TO_SENSOR_TUNNEL
在空間化器中設定),延遲模式就會設為DYNAMIC_SPATIAL_AUDIO_HARDWARE
。 如果最高優先順序的低延遲模式為
iso-hw
,且空間化器實作不支援直接感應器連線 (DIRECT_TO_SENSOR_SW
或DIRECT_TO_SENSOR_TUNNEL
未在空間化器中設定),則下一個偏好模式 (iso-sw
或le-acl
) 會決定延遲模式 (DYNAMIC_SPATIAL_AUDIO_SOFTWARE
或LOW
)。如未指定下一個偏好模式,系統會回報產品設定錯誤。