Flag AAOS della configurazione audio

Android Automotive OS (AAOS) utilizza flag e configurazioni per consentire per caratteristiche, dal routing dinamico a flag di funzionalità più generici, come regolare il volume dal servizio dell'auto. Flag della configurazione AAOS attuali per l'audio vengono descritte qui.

Segnala Finalità
audioUseDynamicRouting Definite nel file di configurazione del servizio auto in Attiva il routing AAOS. La configurazione deve essere impostata su true. Quando false, il routing e gran parte di CarAudioService sono disattivati e il sistema operativo torna al comportamento predefinito descritto in Configurazione dei criteri relativi all'audio.
audioUseCarVolumeGroupMuting Definite nel file di configurazione del servizio auto per consentire la disattivazione dell'audio dei singoli e gruppi di volumi. Se impostato su false (il valore predefinito), la disattivazione di i singoli gruppi di volumi sono disattivati. La disattivazione attiva/disattiva l'audio principale. Se impostato su true, la disattivazione dell'audio del gruppo del volume dell'auto è attiva e ogni il singolo gruppo di volume può essere disattivato separatamente. Quando true, il muting del gruppo di volumi deve essere implementato Controllo audio HAL.
audioUseHalDuckingSignals Definite nel file di configurazione del servizio auto per attivare la API IAudioControl#onDevicesToDuckChange per informare l'HAL quando un'anatra. Quando true (valore predefinito), l'API riceve indicatori che indicano quale dispositivi di output per anatre e quali usi tengono conto. Quando false, non viene chiamata l'API. L'API viene chiamata solo se Controllo audio HAL implementa il attenuazione automatica.
config_oemCarService Definito nel file di configurazione del servizio auto, si tratta del nome del componente il servizio di personalizzazione OEM. Gli OEM possono scegliere di implementare questo servizio per personalizzare le azioni dei servizi auto per criteri diversi. Se gli OEM scelgono questo componente, devono implementare un servizio per estendere OemCarService esposti da car-lib, poi implementa i servizi dei componenti richiesti. Nello specifico per i servizi audio per auto, gli OEM può implementare uno qualsiasi dei servizi secondari audio per gestire l'azione audio. Per i dettagli, vedi Servizio di plug-in audio per auto. Se il nome del componente non è valido, CarService non si connette a qualsiasi servizio OEM. Il nome del componente non può essere un pacchetto di terze parti. it devono essere preinstallati.
audioVolumeAdjustmentContextsVersion

Definite nel file di configurazione del servizio auto, la configurazione per selezionare versione dell'elenco di priorità del contesto di aggiustamento del volume.

La versione 1 include tutti i contesti audio, nel seguente ordine:

  • NAVIGATION
  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
  • CALL_RING
  • SYSTEM_SOUND
  • SAFETY
  • ALARM
  • NOTIFICATION
  • VEHICLE_STATUSEMERGENCY

La versione 2 è limitata ai seguenti contesti, in questo ordine.

La versione predefinita è 1.

  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
audioPersistMasterMuteState Definita nel file di configurazione del servizio auto. La configurazione deve rimanere globale. senza audio. Quando true (il valore predefinito), Android ripristina il stato di disattivazione globale all'avvio. Quando il valore di audioUseCarVolumeGroupMuting è true, questa operazione non influisce sulle modifiche persistenti dell'audio disattivato le modifiche si basano su singoli gruppi di volumi. Il valore predefinito è impostato su true e devono essere sovrascritti quando l'audio principale non deve essere persistenti per un dispositivo.
audioVolumeKeyEventTimeoutMs

Definite nel file di configurazione del servizio auto, la configurazione per indicare in millisecondi mentre un gruppo di volume dell'auto è considerato attivo variazioni del controllo del volume durante gli eventi dei tasti del volume. La configurazione viene utilizzata come segue:

  • Il timeout viene utilizzato per determinare se una riproduzione (volume audio associato con l'utilizzo dell'audio della riproduzione) possono comunque essere considerate per regolare il volume al termine della riproduzione.
  • Il timeout viene utilizzato anche come durata della pausa necessaria tra le interruzioni automatiche le regolazioni del volume per cambiare quella dell'utente.

Il valore predefinito è 3000 millisecondi e dovrebbe essere adattati dagli OEM per personalizzare l'esperienza utente.

audioUseCarVolumeGroupEvent Definita nel file di configurazione del servizio auto, la configurazione per abilitare il callback eventi in gruppi di volume. Quando true, i clienti vengono richiamati fino al giorno ICarVolumeGroupEvent agli eventi che influiscono sul volume gruppi. Quando l'opzione è attiva:

  • Consigliamo vivamente ai fornitori di supportare anche IAudioControl#setModuleChangeCallback e IAudioControl#registerGainCallback per gli eventi e le modifiche a hardware audio.
  • Quando CarVolumeCallback e CarVolumeGroupEventCallback sono stati registrati dalla stessa l'indice del gruppo di volume e le richiamate di disattivazione dell'audio del gruppo di volume solo fino a CarVolumeGroupEventCallback. Pertanto, consigliamo vivamente di eseguire la migrazione di tutte le app alla nuova per garantire prestazioni costanti.
  • Il valore predefinito è false. Ti consigliamo di impostarla a true perché le API per il supporto di volumi legacy i callback sono deprecati e verranno presto rimossi del tutto.

config_useFixedVolume Definito in frameworks/base/core/res/res/values/config.xml. Deve essere impostato su true per consentire la gestione del servizio audio per auto regolare il volume. Quando il flag config_useFixedVolume non è impostata o impostata su false (il valore predefinito), le app possono chiamare il metodo AudioManager API di gestione del volume e modifica il volume per tipo di stream nel mixer del software. Ciò potrebbe essere indesiderato a causa del l'effetto potenziale su altre app e il fatto che l'attenuazione del volume software mixer può comportare la diminuzione dei bit significativi disponibili nel quando lo ricevi all'amplificatore hardware. I nuovi dispositivi che non hanno che è stato configurato e che è impostato su true (ricevi variazioni di volume) attraverso le API di disattivazione del volume e dell'audio di AudioManager.
config_handleVolumeKeysInWindowManager La definizione in frameworks/base/core/res/res/values/config.xml deve essere impostato su true per consentire al servizio audio dell'auto di intercettare gli eventi chiave del volume. Se viene impostato sul volume false (il valore predefinito), gli eventi chiave possono essere inoltrati all'app in primo piano e possono generare derivanti dalla gestione degli eventi chiave del volume al di fuori del servizio audio dell'auto.

Configurazioni di servizi audio per auto

Prima di Android 13, le configurazioni dei servizi auto venivano sovrascritte con un overlay di configurazione del prodotto (per saperne di più, vedi Personalizzazione della build con overlay di risorse) per il file packages/services/Car/service/res/values/config.xml.

PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>

La posizione del file di configurazione da <path_to_overlay> all'attuale la località deve includere packages/services/Car/service/res/values/.

RRO di servizi per auto

Da Android 13, AAOS supporta Overlay delle risorse di runtime. Utilizza un RRO per modificare della configurazione dell'audio dell'auto. Ad esempio, consulta gli RRO per la riferimento automobilistico cuttlefish in device/google/cuttlefish/shared/auto/rro_overlay/. La La configurazione di audioUseDynamicRouting è stata ignorata in device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml.

<resources>
    <bool name="audioUseDynamicRouting">true</bool>
...

La mappa overlay delle risorse è contenuta in device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml:

<overlay>
...
  <item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>

Il manifest overlay della risorsa definito in device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml contiene il valore targetPackage impostato come com.android.car.updatable.

Per saperne di più, consulta queste risorse:

API abilitata per le funzionalità

Il metodo restituisce true se la funzionalità è attivata sul dispositivo, altrimenti false. Nell'API CarAudioManager#isAudioFeatureEnabled, il parametro deve essere uno dei seguenti:

  • AUDIO_FEATURE_DYNAMIC_ROUTING
  • AUDIO_FEATURE_VOLUME_GROUP_MUTING
  • AUDIO_FEATURE_OEM_AUDIO_SERVICE
  • AUDIO_FEATURE_VOLUME_GROUP_EVENTS
  • AUDIO_FEATURE_AUDIO_MIRRORING