Warstwę abstrakcji sprzętu audio (HAL) Androida łączy interfejsy API frameworku dotyczące dźwięku na wyższym poziomie z android.media
podstawowymi sterownikami dźwięku i sprzętem. HAL audio określa standardowy interfejs, do którego wywoływane są usługi audio. Aby sprzęt audio działał prawidłowo,
trzeba wdrożyć HAL.
Na tej stronie znajdziesz omówienie zasobu HAL Audio oraz szczegółowe informacje na temat jego interfejsu API i wymagań dotyczących implementacji.
Interfejs HAL dźwięku
Od Androida 14 interfejs HAL audio jest definiowany za pomocą AIDL. W poprzednich wersjach interfejs audio HAL jest zdefiniowany 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 API HAL do funkcji dodanych w Androidzie 14 i nowszych 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 Audio HAL AIDL a interfejsem Audio HAL HIDL, zapoznaj się z artykułem Porównanie interfejsu Audio HAL 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 API Effects HAL 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 na temat odpowiednio AIDL i HIDL znajdziesz w artykułach 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 jednoczesnych 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ównoczesne przechwytywanie.