Áudio HAL

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 ao android.media , aos 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 .