Audio HAL

Die Audio-Hardware-Abstraktionsschicht (HAL) von Android verbindet die höherwertigen, audiospezifischen Framework-APIs mit den zugrunde liegenden Audiotreibern und ‑hardwareandroid.media. Die Audio HAL definiert die Standardschnittstelle, die von Audiodiensten aufgerufen wird. Die Audio-HAL muss implementiert sein, damit die Audiohardware ordnungsgemäß funktioniert.

Auf dieser Seite erhalten Sie einen Überblick über die Audio HAL und Details zu ihrer API und den Implementierungsanforderungen.

Audio HAL-Schnittstelle

Ab Android 14 wird die Audio HAL-Schnittstelle mit AIDL definiert. Bei früheren 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 der Audio HAL wird Speicherplatz und RAM auf Geräten freigegeben. Das führt zu einer reibungsloseren Nutzererfahrung und ermöglicht neue, für Nutzer sichtbare Funktionen.

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

Audio HAL API

Der Audio HAL enthält die folgenden APIs:

  • Die Core HAL ist die Haupt-API, die von AudioFlinger zum Abspielen von Audio und zum Steuern der Audio-Routings verwendet wird.
  • Die Effects HAL API wird vom Effekt-Framework verwendet, um Audioeffekte zu steuern. Über die Effects HAL API können Sie auch Vorverarbeitungseffekte wie die automatische Verstärkungsregelung und die Geräuschunterdrückung konfigurieren.

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

Ausführliche Informationen zu AIDL und HIDL finden Sie unter AIDL Audio HAL und HIDL Audio HAL.

Voraussetzungen

Zusätzlich zur Implementierung der Audio-HAL und zum Erstellen der Konfigurationsdatei für die Audiorichtlinie müssen Sie die folgenden HAL-Anforderungen einhalten:

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

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