HAL audio

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

Cette page présente le HAL audio et fournit des informations détaillées sur son API et ses exigences d'implémentation.

Interface Audio HAL

À partir d'Android 14, l'interface Audio HAL est définie à l'aide d'AIDL. Pour les versions antérieures, l'interface Audio HAL est définie à l'aide de HIDL. Nous encourageons les partenaires et les fournisseurs de SoC à 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. À partir d'Android 14, aucune nouvelle API n'est ajoutée à l'implémentation HIDL.

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

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

API Audio HAL

Le HAL audio 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 Core et Effects HAL. La HAL commune ne comporte aucune interface ni aucun test VTS associé, car elle ne définit que des structures de données.

Pour en savoir plus sur AIDL et HIDL, consultez HAL audio AIDL et HAL audio HIDL.

Conditions requises

En plus d'implémenter le 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 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 la transmission et de la capture des appels vocaux depuis le processeur d'application, comme indiqué sur la page Capture simultanée.