Die Audio-Hardware-Abstraktionsschicht (HAL) von Android verbindet die Audio-Framework-APIs auf höherer Ebene mit den zugrunde liegenden Audiotreibern und der Hardware.android.media
Das Audio-HAL definiert die Standardschnittstelle, die von Audiodiensten aufgerufen wird. Das Audio-HAL muss implementiert werden, damit die Audiohardware richtig funktioniert.
Auf dieser Seite erhalten Sie einen Überblick über das Audio-HAL und Details zu seiner API und den Implementierungsanforderungen.
Audio-HAL-Schnittstelle
Ab Android 14 wird die Audio-HAL-Schnittstelle mit AIDL definiert. In früheren Versionen wird die Audio-HAL-Schnittstelle mit HIDL definiert. Partner und SoC-Anbieter werden aufgefordert, ihr 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 Audio-HAL-Hauptversionen wird Speicherplatz und RAM auf Geräten freigegeben. Das führt zu einer reibungsloseren Nutzererfahrung und ermöglicht neue, für Endnutzer 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:
- Das Core HAL ist die Haupt-API, die von AudioFlinger zum Abspielen von Audio und zum Steuern des Audio-Routings verwendet wird.
Die Effects HAL API wird vom Effects-Framework verwendet, um Audioeffekte zu steuern. Sie können auch Vorverarbeitungseffekte wie die automatische Verstärkungsregelung und die Rauschunterdrückung über die Effects HAL API konfigurieren.
Die Common HAL API ist eine Bibliothek mit allgemeinen Datentypen, die von den Core- und Effects HAL APIs verwendet werden. Das Common HAL hat keine Schnittstellen und keine zugehörigen VTS-Tests, da es nur Datenstrukturen definiert.
Spezifische Details zu AIDL und HIDL finden Sie unter AIDL Audio HAL und HIDL Audio HAL.
Voraussetzungen
Zusätzlich zur Implementierung des Audio-HAL und der Erstellung der Konfigurationsdatei für die Audio-Richtlinie müssen Sie die folgenden HAL-Anforderungen erfüllen:
Wenn die Erfassung für Sound Trigger (Erfassung 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 Aufnahme von Sprachanrufen durch den App-Prozessor, wie auf der Seite Gleichzeitige Aufnahme beschrieben.