HAL audio

L'HAL (Hardware Abstraction Layer) audio di Android collega le API framework specifiche per l'audio di livello superiore in android.media ai driver audio e all'hardware sottostanti. L'HAL audio definisce l'interfaccia standard a cui chiamano i 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 Audio HAL è definita utilizzando AIDL. Per le versioni precedenti, l'interfaccia Audio HAL è definita utilizzando HIDL. I partner e i fornitori di SoC sono invitati a reimplementare il proprio 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 un'esperienza utente più fluida e nuove funzionalità visibili agli utenti finali.

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

API HAL audio

L'HAL audio contiene le seguenti API:

  • L'HAL principale è l'API principale utilizzata da AudioFlinger per riprodurre l'audio e controllare il routing audio.
  • L'API Effects HAL viene utilizzata dal framework degli effetti per controllare gli effetti audio. Puoi anche configurare gli effetti di pre-elaborazione come il controllo automatico del guadagno e la soppressione del rumore tramite l'API Effects HAL.

  • L'API Common HAL è una libreria di tipi di dati comuni utilizzati dalle API Core e Effects HAL. La Common HAL non ha interfacce né test VTS associati, in quanto definisce solo le strutture di dati.

Per dettagli specifici relativi ad AIDL e HIDL, consulta AIDL Audio HAL e HIDL Audio HAL.

Requisiti

Oltre a implementare l'HAL audio e creare il file di configurazione della policy audio, devi rispettare i seguenti requisiti HAL:

  • Se l'acquisizione per Sound Trigger (acquisizione dal buffer DSP della 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 da Sound Trigger HAL.

  • Concorrenza della trasmissione e dell'acquisizione delle chiamate vocali dal processore dell'app come descritto nella pagina Acquisizione simultanea.