Android Automotive OS (AAOS) utilise des options et des configurations pour permettre le routage dynamique jusqu'aux flags de fonctionnalités plus génériques, comme le contrôle du volume auprès du service automobile. Options de configuration AAOS actuelles pour l'audio sont décrits ici.
Signaler | Objectif | |
---|---|---|
audioUseDynamicRouting |
Défini dans le fichier de configuration du service automobile pour
Activez le routage AAOS.
La configuration doit être définie sur true . Lorsque false ,
le routage, ainsi qu'une grande partie de CarAudioService , sont désactivés et l'OS
revient au comportement par défaut décrit dans
Configurer des règles audio
|
|
audioUseCarVolumeGroupMuting
| Définie dans le fichier de configuration du service automobile pour permettre la coupure du son de l'utilisateur
des groupes de volumes. Si défini sur false (valeur par défaut), masquage de
groupes de volumes individuels est désactivée. À la place, le son coupé permet d'activer ou de désactiver le son principal.
Si elle est définie sur true , la coupure du son du groupe de volumes de la voiture est activée, et chaque
un groupe de volumes individuel peut être coupé séparément. Lorsque true ,
la blocage des groupes de volumes doit être implémentée au niveau
HAL de commande audio.
| |
audioUseHalDuckingSignals |
Défini dans le fichier de configuration du service automobile pour activer
L'API IAudioControl#onDevicesToDuckChange indique à HAL quand
canard. Lorsque la valeur est true (valeur par défaut), l'API reçoit des signaux indiquant
les périphériques de sortie à baisser et les
utilisations qui réservent l'attention. Lorsque false ,
l'API n'est pas appelée. L'API n'est appelée que si le
Commandes audio HAL
met en œuvre l'atténuation.
|
|
config_oemCarService |
Défini dans le fichier de configuration du service automobile, il s’agit du nom du composant pour
le service de personnalisation de l'OEM. Les OEM peuvent choisir d'implémenter ce service pour
personnaliser les actions d'entretien pour différentes règles. Si les OEM choisissent de
mettre en œuvre ce composant, elle doit implémenter un service pour étendre
OemCarService exposé par car-lib, puis implémenter
les services des composants requis. Pour les services audio pour voiture en particulier, les OEM
peut implémenter n'importe quel sous-service audio pour gérer l'action audio. Pour
détails, consultez
Service de plug-in audio pour voiture.
Si le nom du composant n'est pas valide, CarService ne se connectera pas
à n'importe quel service OEM. Le nom du composant ne peut pas être un package tiers. Il
doit être préinstallé. |
|
audioVolumeAdjustmentContextsVersion |
Défini dans le fichier de configuration du service automobile, configuration permettant de sélectionner Version de la liste des priorités du contexte d'ajustement du volume. La version 1 inclut tous les contextes audio, dans cet ordre:
La version 2 est limitée aux contextes suivants, dans cet ordre. La version par défaut est
|
|
audioPersistMasterMuteState |
Défini dans le fichier de configuration du service automobile, configuration permettant de conserver la persistance globale
le son coupé. Lorsque true (valeur par défaut), Android restaure le
le mode silencieux global au démarrage. Lorsque audioUseCarVolumeGroupMuting est
true , cela n'a aucun impact sur les modifications persistantes pour les notifications ignorées
sont basées sur des groupes de volumes individuels. La valeur par défaut est définie sur
true et doit être remplacé lorsque la coupure du son maître ne doit pas être
conservées pour un appareil. |
|
audioVolumeKeyEventTimeoutMs |
Définie dans le fichier de configuration du service automobile, la configuration pour indiquer délai avant expiration en millisecondes alors qu'un groupe de volumes de voiture est considéré comme actif pour les réglages du volume lors des événements de touche de volume. La configuration est utilisée comme suit:
La valeur par défaut est |
|
audioUseCarVolumeGroupEvent |
Définie dans le fichier de configuration du service automobile, configuration permettant d'activer le rappel
les événements aux groupes de volumes. Lorsque la valeur est true , les clients reçoivent un rappel.
via ICarVolumeGroupEvent aux événements ayant un impact sur le volume
groupes. Lorsque cette option est activée:
La valeur par défaut est |
|
config_useFixedVolume
| Défini dans frameworks/base/core/res/res/values/config.xml .
Doit être défini sur true pour permettre au service audio voiture de gérer
le contrôle du volume. Lorsque l'option config_useFixedVolume n'est pas
ou si elle est définie sur false (valeur par défaut), les applications peuvent appeler
AudioManager et modifier le volume de
dans le mélangeur logiciel. Cela peut être indésirable en raison
l'effet potentiel sur d'autres applications et l'atténuation du volume
mélangeur logiciel peut réduire le nombre de bits significatifs disponibles dans le
au niveau de l'amplificateur matériel. Les nouveaux appareils qui n'ont pas
configurés et définis sur true reçoivent les modifications de volume
via les API de volume et de coupure du son AudioManager .
|
|
config_handleVolumeKeysInWindowManager |
Défini dans frameworks/base/core/res/res/values/config.xml , doit
être défini sur true pour permettre au service audio de la voiture d'intercepter
les événements des touches de volume. S'il est défini sur false (valeur par défaut)
les événements clés peuvent être transmis à l'application au premier plan et peuvent entraîner
de la gestion des événements de touches de volume
en dehors du service audio de la voiture. |
Configurations des services audio pour voiture
Avant Android 13, les configurations des services automobile étaient écrasées
avec une configuration de produit superposée (pour en savoir plus, consultez
Personnaliser la compilation avec des superpositions de ressources)
pour le fichier packages/services/Car/service/res/values/config.xml
.
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
L'emplacement du fichier de configuration, de <path_to_overlay>
à l'emplacement réel,
L'emplacement doit inclure packages/services/Car/service/res/values/
.
RRO pour l'entretien automobile
Depuis Android 13, AAOS prend en charge
Superpositions de ressources d'exécution. Utilisez une RRO pour modifier
de la configuration audio de la voiture. Par exemple, consultez les RRO pour
référence automobile cuttlefish
dans
device/google/cuttlefish/shared/auto/rro_overlay/
La
La configuration audioUseDynamicRouting
est remplacée dans
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
La carte de superposition des ressources est contenue
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml
:
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
Le fichier manifeste de superposition de ressources défini dans
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
contient le targetPackage
défini sur com.android.car.updatable
.
Pour en savoir plus, consultez les ressources suivantes:
- Superpositions de ressources d'exécution
- Résoudre les problèmes de superposition des ressources d'exécution
API compatible avec les fonctionnalités
La méthode renvoie true
si la fonctionnalité est activée sur l'appareil. Sinon,
false
Dans l'API CarAudioManager#isAudioFeatureEnabled
, le paramètre
transmis doit être l'un des suivants:
AUDIO_FEATURE_DYNAMIC_ROUTING
AUDIO_FEATURE_VOLUME_GROUP_MUTING
AUDIO_FEATURE_OEM_AUDIO_SERVICE
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
AUDIO_FEATURE_AUDIO_MIRRORING