Android Automotive OS (AAOS) 使用旗標和設定啟用不同功能,從動態路徑規劃到更通用的功能旗標,例如透過車輛服務控制音量。如要瞭解音訊管理目前的 AAOS 設定旗標,請參閱本文。
檢舉 | 目的 |
---|---|
audioUseDynamicRouting |
在車輛服務設定檔中定義,以啟用 AAOS 路線規劃。設定必須設為 true 。當 false 時,CarAudioService 和大部分的路由都會停用,OS 會回復為「設定音訊政策」一文所述的預設行為。 |
useCoreAudioRouting |
在車輛服務設定檔中定義,啟用 AAOS 核心音訊路徑管理。如果值設為 true ,車輛音訊服務會使用可設定音訊政策引擎設定的設定定義。如果值設為 false ,路由管理會改用車輛音訊服務動態音訊政策組合定義,如使用 audioUseDynamicRouting 設定。
|
useCoreAudioVolume |
在車輛服務設定檔中定義,以啟用 AAOS 核心音量管理。如果值設為 true ,車輛音訊服務會使用可設定的音訊政策引擎設定的音量群組定義。如果值設為 false ,音量管理就會改用車輛音訊服務的預設音量群組定義,並使用 audioUseDynamicRouting 進行設定。 |
audioUseCarVolumeGroupMuting |
在車輛服務設定檔中定義,可啟用個別音量群組的靜音功能。如果設為 false (預設值),系統就會停用個別音量群組的靜音功能。而是會切換為靜音模式。
設為 true 時,系統會啟用車輛音量群組靜音功能,且每個音量群組都可以個別設為靜音。當 true 時,必須在 Audio Control HAL 中實作音量群組靜音功能。 |
audioUseHalDuckingSignals |
在車輛服務設定檔中定義,可讓 IAudioControl#onDevicesToDuckChange API 在需要時通知 HAL 進入休眠狀態。如果設為 true (預設值),API 會收到信號,指出要迴避的輸出裝置,以及哪些用途會保留焦點。當 false 時,不會呼叫 API。除非 Audio Control HAL 實作了迴避功能,否則不會呼叫 API。 |
config_oemCarService |
這是 OEM 自訂服務的元件名稱,定義於車輛服務設定檔中。原始設備製造商可以選擇實作這項服務,為不同政策自訂車輛服務動作。如果原始設備製造商 (OEM) 選擇實作這個元件,就必須實作服務來擴充車輛程式庫公開的 OemCarService ,然後實作必要的元件服務。就車輛音訊服務而言,原始設備製造商可以實作任何音訊子服務,藉此管理音訊動作。詳情請參閱「車輛音訊外掛程式服務」。如果元件名稱無效,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,並在軟體混音器中依串流類型變更音量。這可能會對其他應用程式造成影響,而且軟體混音器中的音量衰減可能會導致訊號在硬體放大器接收時,可用的有效位元較少,因此可能不盡理想。尚未設定的新裝置,且已設為透過 AudioManager 音量和靜音 API 接收音量變更。true |
config_handleVolumeKeysInWindowManager |
在 frameworks/base/core/res/res/values/config.xml 中定義,必須設為 true ,車輛音訊服務才能攔截音量鍵事件。如果設為 false (預設值),音量鍵事件可以轉送至前景應用程式,並可能導致車輛音訊服務外部的音量鍵事件管理產生不良結果。 |
audioUseMinMaxActivationVolume |
在車輛服務設定檔中定義,以啟用最低和最高啟用音量。當 true 時,音量增益指數可能會因音量啟動管理下限和上限而調整。如果為 false (預設值),則啟用量下限和上限不會生效。 |
audioUseFadeManagerConfiguration |
在車輛服務設定檔中定義,可啟用
系統強制執行的音訊焦點遺失行為。當 true 時,車輛音訊架構會剖析車輛音訊淡出設定定義,並在傳送音訊焦點遺失時套用相應的 FadeManagerConfiguration 。如果值為 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 變更車輛音訊設定的值。舉例來說,請參閱中的汽車 cuttlefish
參考資料 RRO。device/google/cuttlefish/shared/auto/rro_overlay/
audioUseDynamicRouting
中的 device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
會覆寫 audioUseDynamicRouting
設定。
<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