A camada de abstração de hardware de áudio (HAL) do Android conecta as APIs de estrutura específicas de áudio de nível superior em android.media
os drivers de áudio e hardware subjacentes. O Audio HAL define a interface padrão para a qual os serviços de áudio chamam. O Audio HAL deve ser implementado para que o hardware de áudio funcione corretamente.
Esta página fornece uma visão geral do Audio HAL e fornece detalhes de sua API e requisitos de implementação.
Interface HAL de áudio
A partir do Android 14, a interface Audio HAL é definida usando AIDL . Para versões anteriores, a interface Audio HAL é definida usando HIDL . Os parceiros e fornecedores de SoC são incentivados a reimplementar seu HAL de áudio para fornecer uma interface AIDL.
Novas APIs HAL para recursos adicionados no Android 14 e versões posteriores são compatíveis apenas com a implementação da interface AIDL. A partir do Android 14, nenhuma nova API é adicionada à implementação do HIDL.
Mudar para AIDL e descontinuar e remover o suporte para versões anteriores do Audio HAL libera espaço em disco e RAM nos dispositivos. Isso leva a uma experiência do usuário mais suave e permite recursos mais recentes visíveis para os usuários finais.
Consulte Comparação AIDL e HIDL Audio HAL para obter mais informações sobre as diferenças entre AIDL e HIDL Audio HAL.
API HAL de áudio
O HAL de áudio contém as seguintes APIs:
- O Core HAL é a principal API usada pelo AudioFlinger para reproduzir áudio e controlar o roteamento de áudio.
A API Effects HAL é usada pela estrutura de efeitos para controlar efeitos de áudio. Você também pode configurar efeitos de pré-processamento , como controle automático de ganho e supressão de ruído, por meio da API Effects HAL.
A API Common HAL é uma biblioteca de tipos de dados comuns usados pelas APIs Core e Effects HAL. O Common HAL não possui interfaces nem testes VTS associados, pois define apenas estruturas de dados.
Consulte AIDL Audio HAL e HIDL Audio HAL para obter detalhes específicos relacionados a AIDL e HIDL, respectivamente.
Requisitos
Além de implementar o HAL de áudio e criar o arquivo de configuração da política de áudio, você deve cumprir os seguintes requisitos de HAL:
Se a captura para Sound Trigger (captura do buffer DSP de hotword) for suportada por um perfil de entrada, a implementação deverá suportar o número de fluxos ativos neste perfil correspondente ao número de sessões simultâneas suportadas pelo Sound Trigger HAL.
Simultaneidade de TX de chamada de voz e captura do processador do aplicativo, conforme detalhado na página Captura simultânea .