Android Automotive OS (AAOS) utilise des indicateurs et des configurations pour activer différentes fonctionnalités, du routage dynamique aux indicateurs de fonctionnalités plus génériques, tels que la commande du volume à partir du service de voiture. 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 de voiture 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 la section Configurer les règles audio.
|
|
audioUseCarVolumeGroupMuting
| Défini dans le fichier de configuration du service de voiture pour activer le masquage de groupes de volume individuels. Lorsque la valeur est false (valeur par défaut), la mise en sourdine de groupes de volume individuels est désactivée. Au lieu de cela, la mise en sourdine active la mise en sourdine générale.
Lorsque la valeur est true , la mise en sourdine du groupe de volume de la voiture est activée et chaque groupe de volume peut être mis en sourdine séparément. Lorsque true , le masquage du groupe de volume doit être implémenté au niveau du HAL de contrôle audio.
| |
audioUseHalDuckingSignals |
Défini dans le fichier de configuration du service de voiture pour permettre à l'API IAudioControl#onDevicesToDuckChange d'informer HAL quand s'abaisser. Lorsque la valeur est true (valeur par défaut), l'API reçoit des signaux indiquant les périphériques de sortie à masquer et les utilisations qui maintiennent la sélection. Lorsque false , l'API n'est pas appelée. L'API n'est pas appelée, sauf si le HAL de contrôle audio implémente le masquage.
|
|
config_oemCarService |
Défini dans le fichier de configuration du service de voiture, il s'agit du nom du composant du service de personnalisation OEM. Les OEM peuvent choisir d'implémenter ce service pour personnaliser les actions de service automobile en fonction de 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 de voiture en particulier, les OEM peuvent implémenter n'importe lequel des sous-services audio pour gérer l'action audio. Pour en savoir plus, consultez la section Service de plug-in audio pour voitures.
Si le nom du composant n'est pas valide, CarService ne se connectera à 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 de voiture, configuration permettant de sélectionner la version de la liste de priorité de 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 l'ordre indiqué. La version par défaut est
|
|
audioPersistMasterMuteState |
Défini dans le fichier de configuration du service de voiture, configuration pour conserver l'état de mise en sourdine global. Lorsque true (valeur par défaut) est défini, Android restaure l'état de mise en sourdine globale au démarrage. Lorsque audioUseCarVolumeGroupMuting est true , cela n'a aucun impact sur les modifications de mise en sourdine persistantes, car les modifications de mise en sourdine sont basées sur des groupes de volume individuels. La valeur par défaut est définie sur true et doit être écrasée lorsque le mode silencieux principal ne doit pas être conservé pour un appareil. |
|
audioVolumeKeyEventTimeoutMs |
Défini dans le fichier de configuration du service de voiture, configuration pour indiquer le délai avant expiration en millisecondes lorsqu'un groupe de volume de voiture est considéré comme actif pour les modifications de contrôle du volume lors des événements de touche de volume. La configuration est utilisée comme suit:
La valeur par défaut est de |
|
audioUseCarVolumeGroupEvent |
Défini dans le fichier de configuration du service de voiture, configuration permettant d'activer les événements de rappel pour les groupes de volumes. Lorsque true , les clients reçoivent un rappel via ICarVolumeGroupEvent pour les événements qui ont un impact sur les groupes de volume. 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 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 en fonction du 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 mélangeur logiciel peut entraîner moins de bits significatifs disponibles dans le signal lorsqu'il est reçu à 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 de volume via les API de volume et de mise en sourdine 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 transférés vers l'application de premier plan et peuvent 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. |
Configurations du service audio pour voiture
Avant Android 13, les configurations de service de voiture étaient écrasées par une superposition de configuration de produit (pour en savoir plus, consultez la section Personnaliser le build 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/
.
RRO 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 est contenue 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 superpositions 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 correspondre à l'un des éléments suivants:
AUDIO_FEATURE_DYNAMIC_ROUTING
AUDIO_FEATURE_VOLUME_GROUP_MUTING
AUDIO_FEATURE_OEM_AUDIO_SERVICE
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
AUDIO_FEATURE_AUDIO_MIRRORING