HAL audio

La couche d'abstraction matérielle (HAL, Hardware Abstraction Layer) audio d'Android connecte les API de framework de haut niveau, spécifiques à l'audio dans android.media aux pilotes et au matériel audio sous-jacents. La HAL audio définit l'interface standard que les services audio appellent. La HAL audio doit être implémentée pour que le matériel audio fonctionne correctement.

Cette page présente la HAL audio et fournit des détails sur son API et ses exigences d'implémentation.

Interface HAL audio

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

Les nouvelles API HAL pour les fonctionnalités ajoutées dans Android 14 et versions ultérieures ne sont compatibles qu'avec l'implémentation de l'interface AIDL. Dans Android 14 et versions ultérieures, aucune nouvelle API n'est ajoutée à l'implémentation HIDL.

Le passage à AIDL, ainsi que l'abandon et la suppression de la compatibilité avec les versions majeures précédentes de la HAL audio, libèrent de l'espace disque et de la RAM sur les appareils. Cela permet d'améliorer l'expérience utilisateur et d'offrir aux utilisateurs finaux de nouvelles fonctionnalités visibles.

Pour en savoir plus sur les différences entre la HAL audio AIDL et la HAL audio HIDL, consultez Comparaison des HAL audio AIDL et HIDL.

API HAL audio

La HAL audio contient les API suivantes :

  • La HAL Core est l'API principale utilisée par AudioFlinger pour lire l'audio et contrôler le routage audio.
  • L'API HAL Effects 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 HAL Effects.

  • L'API HAL Common est une bibliothèque de types de données communs utilisés par les API HAL Core et Effects. La HAL Common ne comporte aucune interface ni aucun test VTS associé, car elle ne définit que des structures de données.

Pour obtenir des informations spécifiques sur AIDL et HIDL, consultez respectivement HAL audio AIDL et HAL audio HIDL.

Conditions requises

En plus d'implémenter la HAL audio et de créer le fichier de configuration des règles audio, vous devez respecter les exigences HAL suivantes :

  • Si la capture pour Sound Trigger (capture à partir du tampon DSP de mot clé) est compatible avec un profil d'entrée, l'implémentation doit être compatible avec le nombre de flux actifs sur ce profil correspondant au nombre de sessions simultanées compatibles avec la HAL Sound Trigger.

  • Simultanéité de la transmission d'appels vocaux et de la capture à partir du processeur d'application, comme indiqué sur la page Capture simultanée.