Audio-HAL

Die Audio-Hardware-Abstraktionsschicht (HAL) von Android verbindet die Audio-spezifischen Framework-APIs auf höherer Ebene mit android.media , den zugrunde liegenden Audiotreibern und der Hardware. Die Audio-HAL definiert die Standardschnittstelle, über die Audiodienste anrufen. Die Audio-HAL muss implementiert sein, damit die Audio-Hardware ordnungsgemäß funktioniert.

Diese Seite gibt einen Überblick über den Audio-HAL und enthält Einzelheiten zu seinen API- und Implementierungsanforderungen.

Audio-HAL-Schnittstelle

Ab Android 14 wird die Audio-HAL-Schnittstelle mit AIDL definiert. Für frühere Versionen wird die Audio-HAL-Schnittstelle mit HIDL definiert. Partner und SoC-Anbieter werden aufgefordert, ihre Audio-HAL neu zu implementieren, um eine AIDL-Schnittstelle bereitzustellen.

Neue HAL-APIs für Funktionen, die in Android 14 und höher hinzugefügt wurden, werden nur mit der Implementierung der AIDL-Schnittstelle unterstützt. Ab Android 14 wird der HIDL-Implementierung keine neue API hinzugefügt.

Durch den Wechsel zu AIDL und die Einstellung und Entfernung der Unterstützung für frühere Hauptversionen von Audio HAL werden Speicherplatz und RAM auf den Geräten frei. Dies führt zu einer reibungsloseren Benutzeroberfläche und ermöglicht den Endbenutzern neuere, für den Benutzer sichtbare Funktionen.

Weitere Informationen zu den Unterschieden zwischen AIDL und HIDL Audio HAL finden Sie im Vergleich von AIDL und HIDL Audio HAL.

Audio-HAL-API

Die Audio-HAL enthält die folgenden APIs:

  • Der Core HAL ist die Haupt-API, die von AudioFlinger zum Abspielen von Audio und zur Steuerung des Audio-Routings verwendet wird.
  • Die Effekte-HAL-API wird vom Effekt-Framework zur Steuerung von Audioeffekten verwendet. Sie können über die Effects HAL API auch Vorverarbeitungseffekte wie automatische Verstärkungsregelung und Rauschunterdrückung konfigurieren.

  • Die Common HAL API ist eine Bibliothek gängiger Datentypen, die von den Core- und Effects-HAL-APIs verwendet werden. Der Common HAL hat keine Schnittstellen und keine zugehörigen VTS-Tests, da er nur Datenstrukturen definiert.

Spezifische Details zu AIDL bzw. HIDL finden Sie unter AIDL Audio HAL und HIDL Audio HAL .

Anforderungen

Zusätzlich zur Implementierung des Audio-HAL und der Erstellung der Audiorichtlinien-Konfigurationsdatei müssen Sie die folgenden HAL-Anforderungen einhalten:

  • Wenn die Erfassung für Sound Trigger (Erfassung aus dem Hotword-DSP-Puffer) von einem Eingabeprofil unterstützt wird, muss die Implementierung die Anzahl aktiver Streams in diesem Profil unterstützen, die der Anzahl gleichzeitiger Sitzungen entspricht, die von Sound Trigger HAL unterstützt werden.

  • Gleichzeitige Übertragung von Sprachanrufen und Erfassung vom App-Prozessor, wie auf der Seite „Gleichzeitige Erfassung“ beschrieben.