Interfejs HAL dźwięku

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 HALHIDL 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.