Die Audio-Hardware-Abstraktionsschicht (HAL) von Android verbindet die Audio-spezifischen Framework-APIs der höheren Ebene mit den zugrunde liegenden Audiotreibern und ‑hardware.android.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 Effect-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
Sie müssen nicht nur die Audio-HAL implementieren und die Konfigurationsdatei für die Audiorichtlinie erstellen, sondern auch die folgenden HAL-Anforderungen einhalten:
Wenn die Erfassung für den Tontrigger (Erfassung aus dem Hotword-DSP-Zwischenspeicher) von einem Eingabeprofil unterstützt wird, muss die Implementierung die Anzahl der aktiven Streams in diesem Profil unterstützen, die der Anzahl gleichzeitiger Sitzungen entspricht, die von Sound Trigger HAL unterstützt werden.
Gleichzeitigkeit von Sprachanruf-TX und Erfassung durch den App-Prozessor, wie auf der Seite Gleichzeitige Erfassung beschrieben.