A partir de 27 de março de 2025, recomendamos usar android-latest-release em vez de aosp-main para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A camada de abstração de hardware de áudio (HAL) do Android conecta as APIs de framework
de áudio de nível mais alto em
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.
Os parceiros e fornecedores de SoC são incentivados a reimplementar 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.
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.
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
a 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.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-26 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-26 UTC."],[],[],null,["# Audio HAL\n\nAndroid's Audio hardware abstraction layer (HAL) connects the higher-level,\naudio-specific framework APIs into\n[`android.media`](http://developer.android.com/reference/android/media/package-summary.html)\nthe underlying audio drivers and hardware. The Audio HAL defines the standard\ninterface that audio services call in to. The Audio HAL must be implemented for\nthe audio hardware to function correctly.\n\nThis page gives an overview of the Audio HAL and provides details of its API and\nimplementation requirements.\n\nAudio HAL interface\n-------------------\n\nStarting with Android 14, the Audio HAL interface is\ndefined using [AIDL](/docs/core/audio/aidl-implement). For past versions, the\nAudio HAL interface is defined using [HIDL](/docs/core/audio/hidl-implement).\nPartners and SoC vendors are encouraged to reimplement their\nAudio HAL to provide an AIDL interface.\n\nNew HAL APIs for features added in Android 14 and\nhigher are supported **only** with the implementation of the AIDL interface.\nStarting with Android 14, no new API is added to the\nHIDL implementation.\n\nSwitching to AIDL and deprecating and removing support for previous\nmajor Audio HAL versions frees up disk space and RAM on devices. This\nleads to a smoother UX and allows for newer user-visible features for end users.\n\nSee [AIDL and HIDL Audio HAL comparison](/docs/core/audio/aidl-hidl-comp)\nfor more information about the differences between the AIDL and HIDL Audio HAL.\n\n### Audio HAL API\n\nThe Audio HAL contains the following APIs:\n\n- The Core HAL is the main API used by AudioFlinger to play audio and control the audio routing.\n- The Effects HAL API is used by the effects framework to control audio effects.\n You can also configure [preprocessing effects](/devices/audio/implement-pre-processing)\n such as automatic gain control and noise suppression through the Effects HAL\n API.\n\n | **Note:** The Audio Effects HAL API is similar to the [framework effects APIs](https://developer.android.com/reference/android/media/audiofx/AudioEffect).\n- The Common HAL API is a library of common data types used by the Core and\n Effects HAL APIs. The Common HAL has no interfaces and no associated VTS\n tests as it defines only data structures.\n\nSee [AIDL Audio HAL](/docs/core/audio/aidl-implement) and\n[HIDL Audio HAL](/docs/core/audio/hidl-implement) for specific details\nrelated to AIDL and HIDL respectively.\n| **Note:** Starting with Android 13, Audio HAL is updated to version 7.1.\n\nRequirements\n------------\n\nIn addition to implementing the Audio HAL and creating the audio policy\nconfiguration file, you must adhere to the following HAL requirements:\n\n- If capture for Sound Trigger (capture from hotword DSP buffer) is supported\n by one input profile, the implementation must support the number of active\n streams on this profile corresponding to the number of concurrent sessions\n supported by Sound Trigger HAL.\n\n | **Note:** The implementation of the [Sound trigger HAL](/docs/core/audio/sound-trigger) is located at `/hardware/interfaces/soundtrigger` and is coupled with the Audio HAL.\n- Concurrency of voice call TX and capture from the app processor as\n detailed on the [Concurrent capture](/docs/core/audio/concurrent) page."]]