La capa de abstracción de hardware (HAL) de audio de Android conecta las APIs de framework de nivel superior,
específicas de audio en
android.media con
los controladores y el hardware de audio subyacentes. La HAL de audio define la interfaz estándar a la que llaman los servicios de audio. La HAL de audio se debe implementar para que el hardware de audio funcione correctamente.
En esta página, se proporciona una descripción general de la HAL de audio y se detallan sus requisitos de API y de implementación.
Interfaz de la HAL de audio
En Android 14 y versiones posteriores, la interfaz de la HAL de audio se define con AIDL. En versiones anteriores, la interfaz de la HAL de audio se define con HIDL. Se recomienda a los socios y proveedores de SoC que vuelvan a implementar su HAL de audio para proporcionar una interfaz de AIDL.
Las nuevas APIs de HAL para las funciones agregadas en Android 14 y versiones posteriores solo son compatibles con la implementación de la interfaz de AIDL. En Android 14 y versiones posteriores, no se agrega ninguna API nueva a la implementación de HIDL.
Cambiar a AIDL, inhabilitar y quitar la compatibilidad con versiones principales anteriores de la HAL de audio libera espacio en el disco y RAM en los dispositivos. Esto lleva a una UX más fluida y permite funciones más nuevas visibles para el usuario final.
Consulta Comparación entre la HAL de audio de AIDL y la de HIDL para obtener más información sobre las diferencias entre la HAL de audio de AIDL y la de HIDL.
API de la HAL de audio
La HAL de audio contiene las siguientes APIs:
- La HAL principal es la API principal que usa AudioFlinger para reproducir audio y controlar el enrutamiento de audio.
El framework de efectos usa la API de la HAL de efectos para controlar los efectos de audio. También puedes configurar efectos de preprocesamiento como el control de ganancia automático y la reducción de ruido a través de la API de la HAL de efectos.
La API de la HAL común es una biblioteca de tipos de datos comunes que usan las APIs de la HAL principal y de efectos. La HAL común no tiene interfaces ni pruebas VTS asociadas, ya que solo define estructuras de datos.
Consulta HAL de audio de AIDL y HAL de audio de HIDL para obtener detalles específicos relacionados con AIDL y HIDL, respectivamente.
Requisitos
Además de implementar la HAL de audio y crear el archivo de configuración de la política de audio, debes cumplir con los siguientes requisitos de HAL:
Si un perfil de entrada admite la captura para Sound Trigger (captura desde el búfer DSP de palabra clave), la implementación debe admitir la cantidad de transmisiones activas en este perfil que corresponde a la cantidad de sesiones simultáneas admitidas por la HAL de Sound Trigger.
Simultaneidad de la TX de llamadas de voz y captura desde el procesador de la app, como se detalla en la página Captura simultánea.