Android Automotive OS (AAOS) utilise des indicateurs et des configurations pour activer différentes fonctionnalités, en commençant par le routage dynamique vers des indicateurs de fonctionnalités plus génériques, tels que le contrôle du volume du service automobile. Les indicateurs de configuration AAOS actuels pour la gestion audio sont décrits ici.
Drapeau | But | |
---|---|---|
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 et le système d'exploitation revient au comportement par défaut décrit dans Configuration des politiques audio . | |
audioUseCarVolumeGroupMuting | Défini dans le fichier de configuration du service de voiture pour activer la mise en sourdine de groupes de volumes individuels. Lorsqu'il est défini sur false (valeur par défaut), la mise en sourdine des groupes de volumes individuels est désactivée. Au lieu de cela, la mise en sourdine active la sourdine principale. Lorsqu'il est défini sur true , la mise en sourdine du groupe de volume de la voiture est activée et chaque groupe de volume individuel peut être mis en sourdine séparément. Lorsque cela est true , la mise en sourdine du groupe de volume doit être implémentée 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 se baisser. Lorsque true (valeur par défaut), l'API reçoit des signaux indiquant quels périphériques de sortie éviter et quelles utilisations sont prioritaires. Lorsque false , l'API n'est pas appelée. L'API n'est appelée que si Audio Control HAL implémente le ducking. | |
config_oemCarService | Défini dans le fichier de configuration du service automobile, il s'agit du nom du composant du service de personnalisation OEM. Les constructeurs OEM peuvent choisir de mettre en œuvre ce service pour personnaliser les actions de service automobile en fonction de différentes politiques. 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 constructeurs OEM peuvent implémenter n'importe lequel des sous-services audio pour gérer l'action audio. Pour plus de détails, consultez Service de plug-in audio de voiture . Si le nom du composant n'est pas valide, CarService ne se connectera à aucun service OEM. Le nom du composant ne peut pas être celui d'un package tiers. Il doit être pré-installé. | audioVolumeAdjustmentContextsVersion | Défini dans le fichier de configuration du service automobile, configuration pour sélectionner la version de la liste de priorités du contexte de réglage 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 de voiture, configuration pour conserver l'état muet global. Lorsque true (valeur par défaut), Android restaure l'état de sourdine globale au démarrage. Lorsque audioUseCarVolumeGroupMuting est true , cela n’a aucun impact sur les modifications de sourdine persistantes, car les modifications de sourdine sont basées sur des groupes de volumes individuels. La valeur par défaut est définie sur true et doit être écrasée lorsque la sourdine principale ne doit pas être conservée pour un périphérique. | |
audioVolumeKeyEventTimeoutMs | Défini dans le fichier de configuration du service de voiture, configuration pour indiquer le délai d'attente en millisecondes pendant qu'un groupe de volumes de voiture est considéré comme actif pour les changements de contrôle de volume lors des événements de clé 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 automobile, configuration pour activer les événements de rappel vers 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 volumes. Lorsqu'il est activé :
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 mélangeur 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 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 changements de volume via les API de volume et de 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 touches de volume. S'ils sont définis sur false (valeur par défaut), les événements de touche de volume peuvent être transmis à l'application de premier plan et peuvent entraîner des résultats défavorables de la gestion des événements de touche de volume en dehors du service audio de la voiture. |
Configurations du service audio de voiture
Avant Android 13, les configurations de services de voiture étaient remplacées par une superposition de configuration de produit (pour en savoir plus, voir Personnalisation de la version 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 de services de voiture
Depuis Android 13, AAOS prend en charge les superpositions de ressources Runtime . 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 manifeste de superposition de ressources défini dans device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
contient le targetPackage
défini comme com.android.car.updatable
.
Consultez ces ressources pour plus d’informations :
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