Android 汽車作業系統 (AAOS) 使用標誌和配置來啟用不同的功能,從動態路由到更通用的功能標誌,例如汽車服務的音量控制。此處描述了目前音訊管理的 AAOS 配置標誌。
旗幟 | 目的 | |
---|---|---|
audioUseDynamicRouting | 在汽車服務設定檔中定義以啟用 AAOS 路由。此配置必須設為true 。當為false 時,路由和CarAudioService 大部分功能將被停用,並且作業系統將恢復為配置音訊策略中所述的預設行為。 | |
audioUseCarVolumeGroupMuting | 在汽車服務設定檔中定義,以啟用各個磁碟區組的靜音。當設定為false (預設值)時,將停用各個卷組的靜音。相反,靜音會切換主靜音。設定為true 時,將啟用汽車音量組靜音,並且每個單獨的音量組都可以單獨靜音。如果為true ,則必須在音訊控制 HAL上實現卷組靜音。 | |
audioUseHalDuckingSignals | 在汽車服務設定檔中定義,以啟用IAudioControl#onDevicesToDuckChange API 來通知 HAL 何時躲避。當為true (預設值)時,API 會接收指示要迴避哪些輸出裝置以及哪些用途保持焦點的訊號。當false 時,不會呼叫 API。除非音訊控制 HAL實作閃避,否則不會呼叫 API。 | |
config_oemCarService | 在汽車服務設定檔中定義,這是 OEM 客製化服務的元件名稱。整車廠可以選擇實施此服務,以針對不同政策客製化汽車服務作業。如果 OEM 選擇實作此元件,則必須實作一個服務來擴展 car-lib 公開的OemCarService ,然後實作所需的元件服務。特別是對於汽車音訊服務,OEM 可以實施任何音訊子服務來管理音訊操作。詳情請參閱汽車音響插件服務。如果元件名稱無效, CarService 將不會連接到任何 OEM 服務。元件名稱不能是第三方包。它必須預先安裝。 | audioVolumeAdjustmentContextsVersion | 在汽車服務設定檔中定義,設定選擇音量調節上下文優先清單的版本。 版本 1 包括所有音訊上下文,按以下順序:
版本 2 僅限於以下上下文(按此順序)。 預設版本是
|
audioPersistMasterMuteState | 在汽車服務設定檔中定義,用於保持全域靜音狀態的配置。當true (預設值)時,Android 將在啟動時恢復全域靜音狀態。當audioUseCarVolumeGroupMuting 為true 時,這對持久靜音變更沒有影響,因為靜音變更基於各個磁碟區組。預設值設為true ,並且當不應為裝置保留主靜音時必須覆寫該值。 | |
audioVolumeKeyEventTimeoutMs | 在汽車服務設定檔中定義的配置,用於指示在音量鍵事件期間汽車磁碟區組被視為針對音量控制變更處於活動狀態時的逾時(以毫秒為單位)。使用配置如下:
預設值是 | |
audioUseCarVolumeGroupEvent | 在汽車服務設定檔中定義,用於啟用磁碟區組回呼事件的配置。當true 時,用戶端透過ICarVolumeGroupEvent 接收影響卷組的事件的回呼。啟用後:
預設值為 | |
config_useFixedVolume | 在frameworks/base/core/res/res/values/config.xml 中定義。必須設定為true 才能允許汽車音訊服務管理音量控制。當config_useFixedVolume 標誌未設定或設定為false (預設值)時,應用程式可以呼叫AudioManager 音量管理 API 並依軟體混音器中的串流類型變更音量。這可能是不可取的,因為對其他應用程式有潛在影響,而且軟體混音器中的音量衰減可能會導致硬體放大器接收到的訊號中可用的有效位元減少。尚未配置且設定為true 新裝置透過AudioManager 音量和靜音 API 接收音量變更。 | |
config_handleVolumeKeysInWindowManager | 在frameworks/base/core/res/res/values/config.xml 中定義,必須設定為true 才能允許汽車音訊服務攔截音量鍵事件。如果設定為false (預設值),音量鍵事件可以轉發到前台應用程序,並可能導致汽車音訊服務外部的音量鍵事件管理產生不良結果。 |
汽車音響服務配置
在 Android 13 之前,汽車服務配置被packages/services/Car/service/res/values/config.xml
檔案的產品配置覆蓋覆蓋(要了解更多信息,請參閱使用資源覆蓋自定義構建)。
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
設定檔從<path_to_overlay>
到實際位置的位置應包括packages/services/Car/service/res/values/
。
汽車服務 RRO
從 Android 13 開始,AAOS 支援運行時資源疊加。使用 RRO 變更汽車音訊配置的值。例如,請參閱device/google/cuttlefish/shared/auto/rro_overlay/
中的汽車cuttlefish
參考的 RRO。 audioUseDynamicRouting
配置在device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
中被覆寫。
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
資源疊加圖包含在device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml
中:
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
中定義的資源覆蓋清單包含設定為com.android.car.updatable
targetPackage
。
請參閱這些資源以獲取更多資訊:
支援功能的 API
如果裝置上啟用了該功能,則該方法將傳回true
,否則false
。在CarAudioManager#isAudioFeatureEnabled
API中,傳入的參數必須是以下之一:
-
AUDIO_FEATURE_DYNAMIC_ROUTING
-
AUDIO_FEATURE_VOLUME_GROUP_MUTING
-
AUDIO_FEATURE_OEM_AUDIO_SERVICE
-
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
-
AUDIO_FEATURE_AUDIO_MIRRORING