HAL audio

La couche d'abstraction matérielle audio (HAL) d'Android connecte les API de cadre spécifiques à l'audio de niveau supérieur à android.media , les pilotes audio et le matériel sous-jacents. L'Audio HAL définit l'interface standard à laquelle les services audio font appel. L'Audio HAL doit être implémenté pour que le matériel audio fonctionne correctement.

Cette page donne un aperçu de Audio HAL et fournit des détails sur son API et ses exigences de mise en œuvre.

Interface audioHAL

À partir d'Android 14, l'interface Audio HAL est définie à l'aide de AIDL . Pour les versions antérieures, l'interface Audio HAL est définie à l'aide de HIDL . Les partenaires et les fournisseurs de SoC sont encouragés à réimplémenter leur Audio HAL pour fournir une interface AIDL.

Les nouvelles API HAL pour les fonctionnalités ajoutées dans Android 14 et versions ultérieures sont prises en charge uniquement avec la mise en œuvre de l'interface AIDL. À partir d’Android 14, aucune nouvelle API n’est ajoutée à l’implémentation HIDL.

Le passage à AIDL et la dépréciation et la suppression de la prise en charge des versions majeures précédentes d'Audio HAL libèrent de l'espace disque et de la RAM sur les appareils. Cela conduit à une UX plus fluide et permet de nouvelles fonctionnalités visibles par l'utilisateur pour les utilisateurs finaux.

Voir la comparaison AIDL et HIDL Audio HAL pour plus d’informations sur les différences entre AIDL et HIDL Audio HAL.

API HAL audio

L'Audio HAL contient les API suivantes :

  • Le Core HAL est la principale API utilisée par AudioFlinger pour lire l'audio et contrôler le routage audio.
  • L'API Effects HAL est utilisée par le framework d'effets pour contrôler les effets audio. Vous pouvez également configurer des effets de prétraitement tels que le contrôle automatique du gain et la suppression du bruit via l'API Effects HAL.

  • L'API Common HAL est une bibliothèque de types de données courants utilisés par les API HAL Core et Effects. Le Common HAL n'a pas d'interfaces ni de tests VTS associés car il définit uniquement les structures de données.

Voir AIDL Audio HAL et HIDL Audio HAL pour des détails spécifiques liés respectivement à AIDL et HIDL.

Exigences

En plus de mettre en œuvre Audio HAL et de créer le fichier de configuration de la stratégie audio, vous devez respecter les exigences HAL suivantes :

  • Si la capture pour Sound Trigger (capture à partir du tampon DSP hotword) est prise en charge par un profil d'entrée, l'implémentation doit prendre en charge le nombre de flux actifs sur ce profil correspondant au nombre de sessions simultanées prises en charge par Sound Trigger HAL.

  • Concurrence de l'émission d'un appel vocal et de la capture à partir du processeur de l'application, comme détaillé sur la page Capture simultanée .