HAL de áudio

A camada de abstração de hardware de áudio (HAL) do Android conecta as APIs de framework de nível superior e específicas de áudio a android.media, os drivers de áudio e o hardware subjacentes. O HAL de áudio define a interface padrão para a qual os serviços de áudio chamam. 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. Recomendamos que os parceiros e fornecedores de SoC reimplementem o 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. A partir do Android 14, nenhuma nova API é 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, usando a API Effects HAL.

  • A API HAL comum é uma biblioteca de tipos de dados comuns usados pelas APIs HAL Core e Effects. 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 o HAL de áudio e criar o arquivo de configuração da política de áudio, você precisa obedecer aos seguintes requisitos do 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 transmissão de chamada de voz e captura do processador do app, conforme detalhado na página Captura simultânea.