Android Automotive OS (AAOS) utilizza flag e configurazioni per attivare diverse funzionalità, a partire dal routing dinamico fino a flag di funzionalità più generici, come il controllo del volume dal servizio auto. I flag di configurazione AAOS attuali per la gestione dell'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 e il sistema operativo
ripristina il comportamento predefinito descritto in
Configurazione dei criteri audio.
|
useCoreAudioRouting |
Definito nel file di configurazione del servizio auto per
abilitare la gestione del routing audio di base di AAOS.
Quando il valore è impostato su true , il servizio audio per auto utilizza
le definizioni di configurazione impostate con il
motore di criteri audio configurabili.
Se il valore è impostato su false , la gestione del routing torna
a utilizzare la definizione del mix di policy audio dinamiche del servizio audio per auto come
configurato utilizzando audioUseDynamicRouting .
|
useCoreAudioVolume |
Definito nel file di configurazione del servizio auto per
abilitare la gestione del volume audio di base di AAOS.
Quando il valore è impostato su true , il servizio audio per auto utilizza
le definizioni dei gruppi di volume configurate con il
motore di policy audio configurabile.
Se il valore è impostato su false , la gestione del volume torna
a utilizzare la definizione predefinita del gruppo di volume del servizio audio dell'auto come configurato
utilizzando audioUseDynamicRouting .
|
audioUseCarVolumeGroupMuting |
Definito nel file di configurazione del servizio auto per attivare la disattivazione dell'audio di singoli
gruppi di volumi. Se impostato su false (il valore predefinito), la disattivazione dell'audio
dei singoli gruppi di volume è disattivata. Al contrario, la disattivazione dell'audio attiva la disattivazione dell'audio principale.
Se impostato su true , il silenziamento del gruppo di volumi dell'auto è attivato e ogni
singolo gruppo di volumi può essere silenziato separatamente. Quando true ,
il silenziamento del gruppo di volumi deve essere implementato nell'HAL di controllo audio.
|
audioUseHalDuckingSignals |
Definito nel file di configurazione del servizio auto per abilitare l'API IAudioControl#onDevicesToDuckChange per comunicare all'HAL quando abbassare il volume. Quando true (valore predefinito), l'API riceve indicatori che indicano quali
dispositivi di output abbassare e quali utilizzi mantenere attivi. Quando false ,
l'API non viene chiamata. L'API non viene chiamata a meno che
l'HAL di controllo audio
non implementi l'abbassamento del volume.
|
config_oemCarService |
Definito nel file di configurazione del servizio auto, questo è il nome del componente per
il servizio di personalizzazione OEM. Gli OEM possono scegliere di implementare questo servizio per
personalizzare le azioni del servizio auto per criteri diversi. Se gli OEM scelgono di
implementare questo componente, devono implementare un servizio per estendere
OemCarService esposto da car-lib e poi implementare
i servizi dei componenti richiesti. Per il servizio audio per auto in particolare, gli OEM
possono implementare uno qualsiasi dei servizi secondari audio per gestire l'azione audio. Per
maggiori dettagli, vedi
Servizio di plug-in audio per auto.
Se il nome del componente non è valido, CarService non si connette
a nessun servizio OEM. Il nome del componente non può essere un pacchetto di terze parti. Deve
essere preinstallato. |
audioVolumeAdjustmentContextsVersion |
Definita nel file di configurazione del servizio auto, 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, configurazione per rendere persistente lo stato di disattivazione
globale. Quando true (il valore predefinito) Android ripristina lo
stato di disattivazione dell'audio globale all'avvio. Quando audioUseCarVolumeGroupMuting è
true , questa impostazione non influisce sulla persistenza delle modifiche al silenziamento, in quanto
si basano su singoli gruppi di volumi. Il valore predefinito è impostato su
true e deve essere sovrascritto quando la disattivazione dell'audio principale non deve
essere mantenuta per un dispositivo. |
audioVolumeKeyEventTimeoutMs |
Definita nel file di configurazione del servizio auto, configurazione per indicare il timeout in millisecondi mentre un gruppo di volumi dell'auto è considerato attivo per le modifiche al controllo del volume durante gli eventi dei tasti del volume. La configurazione viene utilizzata nel seguente modo:
Il valore predefinito è |
audioUseCarVolumeGroupEvent |
Definita nel file di configurazione del servizio auto, configurazione per attivare gli eventi di callback
nei gruppi di volumi. Quando true , i clienti ricevono il richiamo
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 flusso nel mixer software. Ciò potrebbe essere indesiderabile a causa del
potenziale effetto su altre app e del fatto che l'attenuazione del volume nel
mixer software può comportare una riduzione dei 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 AudioManager per il volume e la disattivazione dell'audio.
|
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 del volume. Se impostato su false (il valore predefinito), gli eventi chiave
del tasto del volume possono essere inoltrati all'app in primo piano e possono portare a risultati
negativi dalla gestione degli eventi chiave del tasto del volume al di fuori del servizio audio dell'auto. |
audioUseMinMaxActivationVolume |
Definito nel file di configurazione del servizio auto per attivare
il volume di attivazione minimo e massimo. Quando
true , l'indice di guadagno del volume può essere modificato a causa
della gestione del volume di attivazione minimo e massimo. Quando
false (valore predefinito), il volume di attivazione minimo e massimo non ha effetto.
|
audioUseFadeManagerConfiguration |
Definito nel file di configurazione del servizio auto per attivare
il comportamento di perdita della messa a fuoco audio imposto dal sistema�. Quando true ,
il framework audio dell'auto analizza le definizioni di configurazione del dissolvenza dell'audio dell'auto e
applica il rispettivo FadeManagerConfiguration durante l'invio
della perdita di focus audio. Quando false (valore predefinito), il sistema non
applica il comportamento di dissolvenza quando un'app perde lo stato attivo audio.
|
Configurazioni del servizio audio dell'auto
Prima di Android 13, le configurazioni del servizio auto venivano sovrascritte
con un overlay di configurazione del prodotto (per saperne di più, vedi
Personalizzare la build con overlay delle risorse)
per il file packages/services/Car/service/res/values/config.xml
.
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
Il percorso del file di configurazione da <path_to_overlay>
alla posizione effettiva
deve includere packages/services/Car/service/res/values/
.
Organizzazioni di riparazione e manutenzione auto
A partire da Android 13, AAOS supporta
i Runtime Resource Overlays. Utilizza un RRO per modificare
il valore della configurazione audio dell'auto. Ad esempio, consulta le RRO per il
riferimento cuttlefish
per il settore automobilistico in
device/google/cuttlefish/shared/auto/rro_overlay/
. La configurazione
audioUseDynamicRouting
viene sottoposta a override 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 manifest di overlay delle risorse definito in
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
contiene targetPackage
impostato su com.android.car.updatable
.
Per saperne di più, consulta queste risorse:
- Overlay delle risorse di runtime
- Risoluzione dei problemi relativi alle risorse di runtime sovrapposte
API abilitata per le funzionalità
Il metodo restituisce true
se la funzionalità è abilitata sul dispositivo, altrimenti
false
. Nell'API CarAudioManager#isAudioFeatureEnabled
, il parametro
passato 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