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.