Il sistema operativo Android Automotive (AAOS) utilizza flag e configurazioni per attivare diverse funzionalità, dal routing dinamico a flag di funzionalità più generici, come il controllo del volume dal servizio auto. I flag di configurazione AAOS attuali per la gestione audio sono descritti qui.
Segnala | Finalità | |
---|---|---|
audioUseDynamicRouting |
Definito nel file di configurazione del servizio auto per
abilitare il routing AAOS.
La configurazione deve essere impostata su true . Quando false ,
il routing e gran parte di CarAudioService sono disattivati, il sistema operativo
riprende il comportamento predefinito descritto in
Configurazione dei criteri audio.
|
|
audioUseCarVolumeGroupMuting
| Definito nel file di configurazione del servizio auto per attivare il silenziamento dei singoli gruppi di volume. Se impostato su false (il valore predefinito), la disattivazione del volume
dei singoli gruppi di volume è disattivata. La disattivazione dell'audio attiva invece la disattivazione dell'audio principale.
Se impostato su true , l'impostazione di disattivazione del volume del gruppo dell'auto è attivata e ciascun singolo gruppo di volume può essere disattivato separatamente. Quando true ,
la disattivazione del volume del gruppo deve essere implementata nell'HAL Audio Control.
| |
audioUseHalDuckingSignals |
Definito nel file di configurazione del servizio auto per consentire all'API IAudioControl#onDevicesToDuckChange di informare HAL quando abbattersi. Quando è true (valore predefinito), l'API riceve indicatori che indicano quali dispositivi di output mettere in modalità di attesa e quali utilizzi hanno il controllo. Quando false ,
l'API non viene chiamata. L'API non viene chiamata a meno che l'HAL di controllo audio non implementi il ducking.
|
|
config_oemCarService |
Definito nel file di configurazione del servizio auto, è il nome del componente per il servizio di personalizzazione OEM. Gli OEM possono scegliere di implementare questo servizio per personalizzare le azioni di servizio auto per diversi criteri. Se gli OEM scelgono di implementare questo componente, devono implementare un servizio per estendere OemCarService esposto da car-lib e poi implementare i servizi di componenti richiesti. In particolare, per il servizio audio per auto, gli OEM possono implementare uno qualsiasi dei sottoservizi audio per gestire l'azione audio. Per maggiori dettagli, vedi Car Audio Plugin Service.
Se il nome del componente non è valido, CarService non si connetterà
a nessun servizio OEM. Il nome del componente non può essere un pacchetto di terze parti. Deve essere preinstallato. |
|
audioVolumeAdjustmentContextsVersion |
Definito nel file di configurazione del servizio auto, la configurazione per selezionare la versione dell'elenco di priorità del contesto di regolazione del volume. La versione 1 include tutti i contesti audio, in questo ordine:
La versione 2 è limitata ai seguenti contesti, in questo ordine. La versione predefinita è
|
|
audioPersistMasterMuteState |
Definito nel file di configurazione del servizio auto, la configurazione per mantenere attivo lo stato di disattivazione globale. Quando è impostato su true (il valore predefinito), Android ripristina lo stato di disattivazione audio globale all'avvio. Se audioUseCarVolumeGroupMuting è equale a true , le modifiche alla disattivazione dell'audio non vengono conservate perché si basano sui singoli gruppi di volume. Il valore predefinito è impostato su
true e deve essere sovrascritto quando la disattivazione audio principale non deve essere
mantenuta per un dispositivo. |
|
audioVolumeKeyEventTimeoutMs |
Definito nel file di configurazione del servizio auto, la configurazione per indicare il timeout in millisecondi mentre un gruppo di volumi dell'auto è considerato attivo per le modifiche del controllo del volume durante gli eventi delle chiavi del volume. La configurazione viene utilizzata come segue:
Il valore predefinito è |
|
audioUseCarVolumeGroupEvent |
Definito nel file di configurazione del servizio auto, la configurazione per attivare gli eventi di callback ai gruppi di volumi. Quando true , i clienti ricevono un callback tramite ICarVolumeGroupEvent per gli eventi che influiscono sui gruppi di volume. Quando è attiva:
Il valore predefinito è |
|
config_useFixedVolume
| Definito in frameworks/base/core/res/res/values/config.xml .
Deve essere impostato su true per consentire al servizio audio dell'auto di gestire il controllo del volume. Quando il flag config_useFixedVolume non è impostato o è impostato su false (il valore predefinito), le app possono chiamare le API di gestione del volume AudioManager e modificare il volume in base al tipo di stream nel mixer software. Ciò potrebbe non essere auspicabile a causa del potenziale effetto su altre app e del fatto che l'attenuazione del volume nel mixer software può comportare un numero inferiore di bit significativi disponibili nel segnale quando viene ricevuto dall'amplificatore hardware. Nuovi dispositivi che non sono stati configurati e che sono impostati su true per ricevere modifiche al volume tramite le API di volume e disattivazione audio AudioManager .
|
|
config_handleVolumeKeysInWindowManager |
Definito 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 relativi al volume. Se impostato su false (il valore predefinito), gli eventi chiave relativi al volume possono essere inoltrati all'app in primo piano e possono portare a risultati negativi dalla gestione degli eventi chiave relativi al volume al di fuori del servizio audio dell'auto. |
Configurazioni del servizio audio per auto
Prima di Android 13, le configurazioni dei servizi per auto venivano sovrascritte
con un overlay di configurazione del prodotto (per saperne di più, consulta
Personalizzare la 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>
alla posizione effettiva deve includere packages/services/Car/service/res/values/
.
RRO per servizi per auto
A partire da Android 13, AAOS supporta
overlay delle risorse di runtime. Utilizza un RRO per modificare il valore della configurazione dell'impianto audio dell'auto. Ad esempio, consulta le RRO per il riferimento cuttlefish
auto e motori in device/google/cuttlefish/shared/auto/rro_overlay/
. La configurazione audioUseDynamicRouting
viene sostituita in device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
.
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
La mappa di 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 file manifest dell'overlay delle risorse definito in
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
contiene targetPackage
impostato su com.android.car.updatable
.
Per ulteriori informazioni, consulta queste risorse:
- Overlay delle risorse di runtime
- Risoluzione dei problemi relativi agli overlay delle risorse di runtime
API con funzionalità abilitate
Il metodo restituisce true
se la funzionalità è attivata sul dispositivo, altrimentifalse
. Nell'API CarAudioManager#isAudioFeatureEnabled
, il parametro fornito 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