HAL audio

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 sottostanti 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 sui requisiti dell'API e dell'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.

Per ulteriori informazioni sulle differenze tra HAL Audio AIDL e HIDL, consulta Confronto tra HAL Audio AIDL e HIDL.

API Audio HAL

L'HAL Audio contiene le seguenti API:

  • 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.

Consulta AIDL Audio HAL e HIDL Audio HAL per dettagli specifici relativi rispettivamente ad AIDL e HIDL.

Requisiti

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 illustrato nella pagina Acquisizione simultanea.