Warstwę abstrakcji sprzętu audio (HAL) Androida łączy interfejsy API frameworku dotyczące dźwięku o wyższym poziomie android.media
z podstawowymi sterownikami dźwięku i sprzętem. HAL audio definiuje standardowy interfejs, którego używają usługi audio. Aby sprzęt audio działał prawidłowo, musisz zaimplementować interfejs Audio HAL.
Na tej stronie znajdziesz omówienie interfejsu Audio HAL oraz szczegółowe informacje o wymaganiach dotyczących interfejsu API i wdrażania.
Interfejs HAL dźwięku
Począwszy od Androida 14 interfejs Audio HAL jest definiowany za pomocą AIDL. W poprzednich wersjach interfejs Audio HAL jest definiowany za pomocą HIDL. Partnerów i dostawców układów SoC zachęcamy do ponownego zaimplementowania interfejsu Audio HAL, aby zapewnić interfejs AIDL.
Nowe interfejsy HAL do obsługi funkcji dodanych w Androidzie 14 i wyższych są obsługiwane tylko w przypadku implementacji interfejsu AIDL. Od Androida 14 w implementacji HIDL nie są dodawane żadne nowe interfejsy API.
Przejście na interfejs AIDL oraz wycofanie i usunięcie obsługi poprzednich głównych wersji interfejsu Audio HAL powoduje zwolnienie miejsca na dysku i pamięci RAM na urządzeniach. Dzięki temu użytkownicy będą mogli korzystać z nowych funkcji.
Aby dowiedzieć się więcej o różnicach między interfejsem HAL Audio AIDL a interfejsem HAL Audio HIDL, zapoznaj się z artykułem Porównanie interfejsu HAL Audio AIDL i HIDL.
Interfejs API HAL dźwięku
Interfejs Audio HAL zawiera te interfejsy API:
- Core HAL to główny interfejs API używany przez AudioFlinger do odtwarzania dźwięku i sterowania kierowaniem dźwięku.
Interfejs Effects HAL API jest używany przez framework efektów do sterowania efektami dźwiękowymi. Możesz też skonfigurować efekty wstępnej obróbki, takie jak automatyczna kontrola wzmocnienia i redukcja szumów, za pomocą interfejsu API Effects HAL.
Interfejs Common HAL API to biblioteka typów danych używanych przez interfejsy HAL API Core i Effects HAL API. Wspólny interfejs HAL nie ma interfejsów ani powiązanych testów VTS, ponieważ definiuje tylko struktury danych.
Szczegółowe informacje dotyczące odpowiednio interfejsów AIDL i HIDL znajdziesz w dokumentach AIDL Audio HAL i HIDL Audio HAL.
Wymagania
Oprócz implementowania interfejsu HAL Audio i tworzenia pliku konfiguracji zasad dotyczących audio musisz też przestrzegać tych wymagań dotyczących interfejsu HAL:
Jeśli przechwytywanie dla Sound Trigger (przechwytywanie z bufora DSP słów kluczowych) jest obsługiwane przez jeden profil wejściowy, implementacja musi obsługiwać liczbę aktywnych strumieni na tym profilu odpowiadającą liczbie sesji obsługiwanych przez interfejs Sound Trigger HAL.
Równoczesne przesyłanie i przechwytywanie połączeń głosowych przez procesor aplikacji, jak opisano na stronie Równoczesny przechwytywanie.