HAL de áudio

A camada de abstração de hardware (HAL) de áudio do Android conecta as APIs de framework de áudio de nível superior, específicas de áudio em android.media aos drivers e hardware de áudio subjacentes. A HAL de áudio define a interface padrão que os serviços de áudio chamam. A HAL de áudio precisa ser implementada para que o hardware de áudio funcione corretamente.

Esta página oferece uma visão geral da HAL de áudio e detalhes dos requisitos de API e implementação.

Interface da HAL de áudio

No Android 14 e versões mais recentes, a interface da HAL de áudio é definida usando a AIDL. Em versões anteriores, a interface da HAL de áudio é definida usando a HIDL. Incentivamos parceiros e fornecedores de SoC a reimplementar a HAL de áudio para fornecer uma interface AIDL.

As novas APIs HAL para recursos adicionados no Android 14 e versões mais recentes são compatíveis apenas com a implementação da interface AIDL. No Android 14 e versões mais recentes, nenhuma nova API é adicionada à implementação da HIDL.

A mudança para a AIDL e a suspensão e remoção do suporte para versões principais anteriores da HAL de áudio liberam espaço em disco e RAM nos dispositivos. Isso leva a uma UX mais suave e permite novos recursos visíveis para o usuário final.

Consulte Comparação entre a HAL de áudio AIDL e HIDL para mais informações sobre as diferenças entre as HALs de áudio AIDL e HIDL.

API HAL de áudio

A HAL de áudio contém as seguintes APIs:

  • A HAL principal é a API principal usada pelo AudioFlinger para reproduzir áudio e controlar o roteamento de áudio.
  • A API HAL de efeitos é usada pelo framework de efeitos para controlar os efeitos de áudio. Também é possível configurar efeitos de pré-processamento como controle automático de ganho e supressão de ruído, pela API HAL de efeitos.

  • A API HAL comum é uma biblioteca de tipos de dados comuns usados pelas APIs HAL principal e de efeitos. A HAL comum não tem interfaces nem testes VTS associados, porque define apenas estruturas de dados.

Consulte HAL de áudio AIDL e HAL de áudio HIDL para detalhes específicos relacionados à AIDL e à HIDL, respectivamente.

Requisitos

Além de implementar a HAL de áudio e criar o arquivo de configuração da política de áudio, você precisa seguir estes requisitos da HAL:

  • Se a captura para o Sound Trigger (captura do buffer DSP de palavra-chave) for compatível com um perfil de entrada, a implementação precisará oferecer suporte ao número de streams ativos nesse perfil correspondente ao número de sessões simultâneas com suporte da HAL do Sound Trigger.

  • Concorrência de TX de chamada de voz e captura do processador de apps, conforme detalhado na página Captura simultânea.