La capa de abstracción de hardware (HAL) de audio de Android conecta las APIs del framework específicas del audio de nivel superior a los controladores y el hardware de audio subyacentes de android.media
. La HAL de audio define la interfaz estándar a la que llaman los servicios de audio. Se debe implementar la HAL de audio para que el hardware de audio funcione correctamente.
En esta página, se proporciona una descripción general del HAL de audio y se detallan los requisitos de la API y la implementación.
Interfaz de HAL de audio
A partir de Android 14, la interfaz de la HAL de audio se define con el 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 AIDL.
Las nuevas APIs de HAL para las funciones agregadas en Android 14 y versiones posteriores solo se admiten con la implementación de la interfaz de AIDL. A partir de Android 14, no se agrega ninguna API nueva a la implementación de HIDL.
El cambio a AIDL y la baja y eliminación de la compatibilidad con versiones principales anteriores de la HAL de audio liberan espacio en disco y RAM en los dispositivos. Esto genera una UX más fluida y permite que los usuarios finales disfruten de funciones más nuevas y visibles.
Consulta Comparación entre el AIDL y la HAL de audio del HIDL para obtener más información sobre las diferencias entre la HAL de audio del AIDL y la del HIDL.
API de HAL de audio
La HAL de audio contiene las siguientes APIs:
- El 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 HAL de Effects 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 HAL de Effects.
La API de HAL común es una biblioteca de tipos de datos comunes que usan las APIs de HAL de Core y Effects. El HAL común no tiene interfaces ni pruebas de 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 políticas de audio, debes cumplir con los siguientes requisitos de la HAL:
Si un perfil de entrada admite la captura para el activador de sonido (captura desde el búfer del 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 que admite el HAL de activador de sonido.
Simultaneidad de la transmisión y la captura de llamadas de voz desde el procesador de la app, como se detalla en la página Captura simultánea