Android Automotive OS (AAOS) utilise des indicateurs et des configurations pour activer différentes fonctionnalités, en commençant par le routage dynamique et en passant par des indicateurs de fonctionnalité plus génériques, tels que le contrôle du volume à partir du service automobile. Les indicateurs de configuration AAOS actuels pour la gestion audio sont décrits ici.
Signaler | Objectif |
---|---|
audioUseDynamicRouting |
Défini dans le fichier de configuration du service automobile pour activer le routage AAOS.
La configuration doit être définie sur true . Lorsque false , le routage et une grande partie de CarAudioService sont désactivés, l'OS revient au comportement par défaut décrit dans Configurer des règles audio.
|
useCoreAudioRouting |
Défini dans le fichier de configuration du service automobile pour activer la gestion du routage audio principal AAOS.
Lorsque la valeur est définie sur true , le service audio de la voiture utilise les définitions de configuration définies avec le moteur de règles audio configurable.
Si la valeur est définie sur false , la gestion du routage revient à utiliser la définition du mix de règles audio dynamiques du service audio de la voiture, telle qu'elle est configurée à l'aide de audioUseDynamicRouting .
|
useCoreAudioVolume |
Défini dans le fichier de configuration du service automobile pour activer la gestion du volume audio principal d'AAOS.
Lorsque la valeur est définie sur true , le service audio de la voiture utilise les définitions de groupes de volume configurées avec le moteur de règles audio configurable.
Si la valeur est définie sur false , la gestion du volume revient à utiliser la définition du groupe de volume par défaut du service audio de la voiture, telle qu'elle est configurée à l'aide de audioUseDynamicRouting .
|
audioUseCarVolumeGroupMuting |
Défini dans le fichier de configuration du service automobile pour permettre la désactivation du son de groupes de volume individuels. Lorsque la valeur est définie sur false (valeur par défaut), la désactivation du son des groupes de volume individuels est désactivée. Au lieu de cela, la désactivation du son active ou désactive le son principal.
Lorsque cette option est définie sur true , la désactivation du son du groupe de volume de la voiture est activée et chaque groupe de volume individuel peut être désactivé séparément. Lorsque true , la désactivation du son du groupe de volumes doit être implémentée au niveau de la HAL de contrôle audio.
|
audioUseHalDuckingSignals |
Défini dans le fichier de configuration du service automobile pour permettre à l'API IAudioControl#onDevicesToDuckChange d'informer HAL du moment où le son doit être baissé. 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 à privilégier. Lorsque false ,
l'API n'est pas appelée. L'API n'est appelée que si la HAL de contrôle audio implémente 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 OEM. Les OEM peuvent choisir d'implémenter ce service pour personnaliser les actions de service automobile pour différentes règles. Si les OEM choisissent d'implémenter ce composant, ils doivent implémenter un service pour étendre OemCarService exposé par car-lib, puis implémenter les services de composants requis. Pour le service audio automobile en particulier, les OEM peuvent implémenter l'un des sous-services audio pour gérer l'action audio. Pour en savoir plus, consultez Service de plug-in audio pour voiture.
Si le nom du composant n'est pas valide, CarService ne se connecte à aucun 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 la version de la liste de priorité du contexte d'ajustement du volume. La version 1 inclut tous les contextes audio, dans l'ordre suivant :
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 l'état de désactivation du son global. Lorsque la valeur true (valeur par défaut) est définie, Android restaure l'état de mise en sourdine globale au démarrage. Lorsque audioUseCarVolumeGroupMuting est défini sur true , cela n'a aucune incidence sur la conservation des modifications de mise en sourdine, car elles sont basées sur des groupes de volume individuels. La valeur par défaut est définie sur true et doit être remplacée lorsque la désactivation du son principal ne doit pas être conservée pour un appareil. |
audioVolumeKeyEventTimeoutMs |
Configuration définie dans le fichier de configuration du service automobile pour indiquer le délai d'expiration en millisecondes pendant lequel un groupe de volume automobile est considéré comme actif pour les modifications du contrôle du volume lors des événements de touches de volume. La configuration est utilisée comme suit :
La valeur par défaut est de |
audioUseCarVolumeGroupEvent |
Configuration définie dans le fichier de configuration du service automobile pour activer les événements de rappel pour les groupes de volume. Lorsque true , les clients reçoivent un rappel via ICarVolumeGroupEvent pour les événements qui ont un impact sur les groupes de volume. En cas d'activation :
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 de la voiture de gérer le contrôle du volume. Lorsque l'indicateur config_useFixedVolume n'est pas défini ou est défini sur false (valeur par défaut), les applications peuvent appeler les API de gestion du volume AudioManager et modifier le volume par type de flux dans le mixeur logiciel. Cela peut être indésirable en raison de l'effet potentiel sur d'autres applications et du fait que l'atténuation du volume dans le mixeur logiciel peut entraîner une diminution du nombre de bits significatifs disponibles dans le signal lorsqu'il est reçu par l'amplificateur matériel. Les nouveaux appareils qui n'ont pas été configurés et qui sont définis sur true reçoivent les modifications du volume via les API de volume et de désactivation 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 de touche de volume. Si la valeur est définie sur false (valeur par défaut), les événements de touche de volume peuvent être transmis à l'application au premier plan et entraîner des résultats indésirables de la gestion des événements de touche de volume en dehors du service audio de la voiture. |
audioUseMinMaxActivationVolume |
Défini dans le fichier de configuration du service automobile pour activer le
volume d'activation minimal et maximal. Lorsque true , l'index de gain de volume peut être ajusté en raison de la gestion du volume d'activation minimal et maximal. Lorsque false (valeur par défaut), le volume d'activation minimal et maximal n'est pas pris en compte.
|
audioUseFadeManagerConfiguration |
Défini dans le fichier de configuration du service automobile pour activer le
comportement de perte de focus audio appliqué par le système. Lorsque true , le framework audio de la voiture analyse les définitions de configuration de fondu audio de la voiture et applique le FadeManagerConfiguration respectif lors de la perte de priorité audio. Lorsque la valeur est false (valeur par défaut), le système n'impose pas de comportement de fondu lorsqu'une application perd la priorité audio.
|
Configurations du service audio de la voiture
Avant Android 13, les configurations du service automobile étaient remplacées par une superposition de configuration du produit (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 doit inclure packages/services/Car/service/res/values/
.
Organismes de gestion collective pour les services d'entretien automobile
Depuis Android 13, AAOS est compatible avec les superpositions de ressources d'exécution. Utilisez un RRO pour modifier la valeur de la configuration audio de la voiture. Par exemple, consultez les RRO pour la référence cuttlefish
automobile dans device/google/cuttlefish/shared/auto/rro_overlay/
. 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 se trouve dans 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 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 liés aux overlays de ressources d'exécution
API avec fonctionnalités activées
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