HAL de áudio

A camada de abstração de hardware (HAL) de áudio do Android conecta as APIs de framework de nível mais alto e específicas de áudio aos android.media drivers e hardware de áudio subjacentes. O 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 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. Em versões anteriores, a interface da HAL de áudio era definida usando a HIDL. Recomendamos que parceiros e fornecedores de SoC reimplementem a HAL de áudio para fornecer uma interface AIDL.

As novas APIs HAL para recursos adicionados no Android 14 e em 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 do HIDL.

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

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 HAL de áudio

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

  • A API Common HAL é uma biblioteca de tipos de dados comuns usados pelas APIs Core e Effects HAL. A HAL comum não tem interfaces nem testes do 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 de HAL:

  • Se a captura para o gatilho por som (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 compatíveis com a HAL do gatilho por som.

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