Android Automotive OS (AAOS) 會使用旗標和設定啟用不同功能,從動態路由開始,再到更通用的功能旗標,例如車輛服務的音量控制。本文說明目前用於音訊管理的 AAOS 設定旗標。
檢舉 | 目的 | |
---|---|---|
audioUseDynamicRouting |
在車輛服務設定檔中定義,用於啟用 AAOS 路由。設定必須設為 true 。當 false 、路由和大部分 CarAudioService 都停用時,作業系統會改用「設定音訊政策」一文所述的預設行為。 |
|
audioUseCarVolumeGroupMuting
| 在車輛服務設定檔中定義,可讓系統靜音個別音量群組。如果設為 false (預設值),系統就會停用個別音量群組的靜音功能。而是將靜音切換鈕設為主靜音。設定為 true 時,系統會啟用車輛音量群組靜音功能,且可個別靜音每個音量群組。在 true 時,必須在 Audio Control HAL 中實作音量群組靜音功能。 | |
audioUseHalDuckingSignals |
在車輛服務設定檔中定義,可讓 IAudioControl#onDevicesToDuckChange API 在何時通知 HAL 時,當 true (預設值) 時,API 會接收信號,指出要隱藏哪些輸出裝置,以及哪些用途會保留焦點。當 false 時,系統不會呼叫 API。除非 Audio Control HAL 實作了 ducking,否則不會呼叫 API。 |
|
config_oemCarService |
這是在車輛服務設定檔中定義的元件名稱,為原始設備製造商 (OEM) 自訂服務的元件名稱。原始設備製造商 (OEM) 可以選擇實作這項服務,為不同的政策自訂汽車服務動作。如果原始設備製造商 (OEM) 選擇實作此元件,則必須實作服務,以延伸 car-lib 公開的 OemCarService ,然後實作必要的元件服務。就汽車音訊服務而言,原始設備製造商 (OEM) 可以實作任何音訊子服務來管理音訊動作。詳情請參閱「Car Audio Plugin Service」。如果元件名稱無效,CarService 就不會連線至任何 OEM 服務。元件名稱不得為第三方套件。必須預先安裝。 |
|
audioVolumeAdjustmentContextsVersion |
在車輛服務設定檔中定義,用於選取音量調整內容設定優先順序清單的版本。 版本 1 包含所有音訊內容,依序如下:
版本 2 僅限於下列順序的情況: 預設版本為
|
|
audioPersistMasterMuteState |
在車輛服務設定檔中定義,用於保留全域靜音狀態的設定。當 true (預設值) 為 1 時,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
中定義的資源疊加資訊清單包含 targetPackage
組合為 com.android.car.updatable
。
如需更多資訊,請參閱下列資源:
啟用功能的 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