HAL de áudio

A camada de abstração de hardware de áudio (HAL) do Android conecta as APIs de framework de nível mais alto e específicas de áudio a android.media os drivers de áudio e o hardware subjacentes. A HAL de áudio define a interface padrão que os serviços de áudio fazem chamadas. O HAL de áudio precisa ser implementado para que o hardware de áudio funcione corretamente.

Esta página oferece uma visão geral do HAL de áudio e detalhes sobre a API e os requisitos de implementação.

Interface HAL de áudio

No Android 14 e versões mais recentes, a interface da HAL de áudio é definida usando a AIDL. Para versões anteriores, a interface da HAL de áudio é definida usando a HIDL. Parceiros e fornecedores de SoC são incentivados 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 têm somente suporte à implementação da interface AIDL. No Android 14 e versões mais recentes, nenhuma API nova é adicionada à implementação do HIDL.

A mudança para a AIDL e a descontinuação e remoção do suporte a versões principais anteriores da HAL de áudio libera espaço em disco e RAM nos dispositivos. Isso resulta em uma UX mais suave e permite que os usuários finais tenham acesso a recursos mais recentes.

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

API Audio HAL

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

  • O 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 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 Effects HAL.

  • A API Common HAL é uma biblioteca de tipos de dados comuns usados pelas APIs Core e Effects HAL. O 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 aderir aos seguintes requisitos de HAL:

  • Se a captura para o Sound Trigger (captura do buffer DSP do comando de voz) tiver suporte de 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 do HAL do Sound Trigger.

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