A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release anziché aosp-main per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Il livello di astrazione hardware audio (HAL) di Android collega le API di framework specifiche per l'audio di livello superiore ai driver e all'hardware audio di base
android.media. L'HAL Audio definisce l'interfaccia standard invocata dai servizi audio. L'HAL audio deve essere implementato per il corretto funzionamento dell'hardware audio.
Questa pagina fornisce una panoramica dell'HAL Audio e dettagli sulla sua API e sui requisiti di implementazione.
Interfaccia HAL audio
A partire da Android 14, l'interfaccia HAL audio viene definita utilizzando AIDL. Per le versioni precedenti, l'interfaccia HAL audio è definita utilizzando HIDL.
I partner e i fornitori di SoC sono invitati a reimplementare il loro HAL audio per fornire un'interfaccia AIDL.
Le nuove API HAL per le funzionalità aggiunte in Android 14 e versioni successive sono supportate solo con l'implementazione dell'interfaccia AIDL.
A partire da Android 14, non viene aggiunta alcuna nuova API all'implementazione HIDL.
Il passaggio ad AIDL e il ritiro e la rimozione del supporto per le versioni principali precedenti di Audio HAL liberano spazio su disco e RAM sui dispositivi. Ciò consente di ottenere un'esperienza utente più fluida e di offrire agli utenti finali funzionalità più recenti visibili agli utenti.
L'HAL di base è l'API principale utilizzata da AudioFlinger per riprodurre l'audio e controllare il routing audio.
L'API HAL Effects viene utilizzata dal framework degli effetti per controllare gli effetti audio.
Puoi anche configurare gli effetti di preelaborazione come il controllo automatico del guadagno e la soppressione del rumore tramite l'API HAL Effects.
L'API HAL comune è una libreria di tipi di dati comuni utilizzati dalle API HAL Core ed Effects. L'HAL comune non ha interfacce né test VTS associati, in quanto definisce solo strutture di dati.
Oltre a implementare l'HAL audio e a creare il file di configurazione delle norme audio, devi rispettare i seguenti requisiti HAL:
Se la funzionalità di acquisizione per Sound Trigger (acquisizione dal buffer DSP hotword) è supportata da un profilo di input, l'implementazione deve supportare il numero di stream attivi su questo profilo corrispondente al numero di sessioni simultanee supportate dall'HAL Sound Trigger.
Concorrenza di trasmissione e acquisizione di chiamate vocali dal processore dell'app come dettagliato nella pagina Acquisizione simultanea.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-26 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]