La capa de abstracción de hardware (HAL) de audio de Android conecta las APIs de framework específicas de audio de nivel superior a android.media
, los controladores y el hardware de audio subyacentes. El HAL de audio define la interfaz estándar a la que llaman los servicios de audio. La HAL de audio debe implementarse para que el hardware de audio funcione correctamente.
En esta página, se proporciona una descripción general del HAL de audio y detalles de su API y requisitos de 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 de AIDL.
Las nuevas APIs de HAL para funciones agregadas en Android 14 y versiones posteriores son compatibles solo 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.
Cambiar al AIDL y dar de baja y quitar la compatibilidad con las versiones principales de HAL de audio anteriores liberan espacio en el disco y la memoria RAM en los dispositivos. Esto genera una UX más fluida y permite funciones más nuevas visibles para los usuarios finales.
Consulta Comparación entre el AIDL y la HAL de audio del HIDL para obtener más información sobre las diferencias entre el AIDL y la HAL de audio del HIDL.
API de HAL de audio
La HAL de audio incluye 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 efectos para controlar los efectos de audio. También puedes configurar efectos de preprocesamiento, como control de ganancia automático y reducción de ruido, a través de la API de HAL de efectos.
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 la política de audio, debes cumplir con los siguientes requisitos de la HAL:
Si un perfil de entrada admite la captura para Sound Trigger (captura desde el búfer de DSP de palabras 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 Sound Trigger.
La simultaneidad de la TX de la llamada de voz y la captura desde el procesador de la app, como se detalla en la página Captura simultánea