Android Automotive OS (AAOS) używa flag i konfiguracji, aby włączać różne funkcje, począwszy od dynamicznego wyznaczania trasy po bardziej ogólne flagi funkcji, takie jak sterowanie głośnością z poziomu usługi samochodowej. Aktualne flagi konfiguracji AAOS do zarządzania dźwiękiem opisano tutaj.
Zgłoś | Cel |
---|---|
audioUseDynamicRouting |
Zdefiniowane w pliku konfiguracyjnym usługi samochodowej, aby włączyć routing AAOS.
Konfiguracja musi mieć wartość true . Gdy false , routing i większość CarAudioService są wyłączone, system operacyjny wraca do domyślnego zachowania opisanego w artykule Konfigurowanie zasad dotyczących dźwięku.
|
useCoreAudioRouting |
Zdefiniowane w pliku konfiguracyjnym usługi samochodowej, aby włączyć zarządzanie routingiem dźwięku podstawowego AAOS.
Gdy wartość jest ustawiona na true , usługa audio w samochodzie korzysta z definicji konfiguracji ustawionych za pomocą silnika zasad audio z możliwością konfiguracji.
Jeśli wartość to false , zarządzanie routingiem wraca do korzystania z definicji dynamicznej mieszanki zasad audio usługi audio w samochodzie skonfigurowanej za pomocą audioUseDynamicRouting .
|
useCoreAudioVolume |
Zdefiniowane w pliku konfiguracyjnym usługi samochodowej, aby włączyć zarządzanie głośnością podstawowego dźwięku AAOS.
Gdy wartość jest ustawiona na true , usługa audio w samochodzie korzysta z definicji grup głośności skonfigurowanych za pomocą silnika zasad audio z możliwością konfiguracji.
Jeśli wartość jest ustawiona na false , zarządzanie głośnością wraca do domyślnej definicji grupy głośności usługi audio w samochodzie skonfigurowanej za pomocą audioUseDynamicRouting .
|
audioUseCarVolumeGroupMuting |
Zdefiniowane w pliku konfiguracyjnym usługi samochodowej, aby umożliwić wyciszanie poszczególnych grup głośności. Jeśli ta opcja ma wartość false (domyślną), wyciszanie poszczególnych grup głośności jest wyłączone. Zamiast tego wyciszanie przełącza wyciszenie główne.
Gdy ta opcja jest ustawiona na true , wyciszanie grupy głośności w samochodzie jest włączone i każdą grupę głośności można wyciszyć osobno. Gdy true , wyciszanie grupy głośności musi być zaimplementowane w warstwie HAL sterowania dźwiękiem.
|
audioUseHalDuckingSignals |
Zdefiniowany w pliku konfiguracyjnym usługi samochodowej, aby umożliwić interfejsowi IAudioControl#onDevicesToDuckChange API informowanie HAL o tym, kiedy ma się wyciszyć. Gdy true (wartość domyślna), interfejs API otrzymuje sygnały wskazujące, które urządzenia wyjściowe mają być wyciszone i które zastosowania mają być aktywne. Gdy false , interfejs API nie jest wywoływany. Wywołanie interfejsu API następuje tylko wtedy, gdy HAL sterowania dźwiękiem implementuje wyciszanie.
|
config_oemCarService |
Zdefiniowana w pliku konfiguracyjnym usługi samochodowej nazwa komponentu usługi dostosowywania OEM. Producenci OEM mogą wdrożyć tę usługę, aby dostosowywać działania związane z serwisowaniem samochodów do różnych zasad. Jeśli producenci OEM zdecydują się na wdrożenie tego komponentu, muszą zaimplementować usługę rozszerzającą interfejs OemCarService udostępniany przez bibliotekę car-lib, a następnie zaimplementować wymagane usługi komponentów. W przypadku usługi audio w samochodzie producenci OEM mogą wdrożyć dowolną z usług podrzędnych audio, aby zarządzać działaniem audio. Więcej informacji znajdziesz w artykule Car Audio Plugin Service.
Jeśli nazwa komponentu jest nieprawidłowa, CarService nie połączy się z żadną usługą OEM. Nazwa komponentu nie może być pakietem innej firmy. Musi być wstępnie zainstalowana. |
audioVolumeAdjustmentContextsVersion |
Zdefiniowana w pliku konfiguracyjnym usługi samochodowej konfiguracja umożliwiająca wybór wersji listy priorytetów kontekstu regulacji głośności. Wersja 1 zawiera wszystkie konteksty audio w tej kolejności:
Wersja 2 jest ograniczona do tych kontekstów w podanej kolejności: Wersja domyślna to
|
audioPersistMasterMuteState |
Zdefiniowana w pliku konfiguracyjnym usługi samochodowej konfiguracja, która ma zachowywać globalny stan wyciszenia. Gdy wartość wynosi true (wartość domyślna), Android przywraca globalny stan wyciszenia podczas uruchamiania. Jeśli wartość audioUseCarVolumeGroupMuting to true , nie ma to wpływu na utrwalanie zmian wyciszenia, ponieważ zmiany wyciszenia są oparte na poszczególnych grupach głośności. Wartość domyślna to true . Musi ona zostać zastąpiona, jeśli wyciszenie główne nie powinno być zapisywane na urządzeniu. |
audioVolumeKeyEventTimeoutMs |
Zdefiniowana w pliku konfiguracyjnym usługi samochodowej konfiguracja określająca limit czasu w milisekundach, przez jaki grupa głośności w samochodzie jest uznawana za aktywną w przypadku zmian sterowania głośnością podczas zdarzeń związanych z klawiszami głośności. Konfiguracja jest używana w ten sposób:
Domyślna wartość to |
audioUseCarVolumeGroupEvent |
Zdefiniowana w pliku konfiguracyjnym usługi samochodowej konfiguracja umożliwiająca przekazywanie zdarzeń wywołania zwrotnego do grup głośności. Gdy true , klienci otrzymują wywołanie zwrotne
przez ICarVolumeGroupEvent w przypadku zdarzeń, które mają wpływ na grupy
woluminów. Jeśli jest włączona:
Wartość domyślna to |
config_useFixedVolume |
Zdefiniowano w frameworks/base/core/res/res/values/config.xml .
Musi mieć wartość true , aby usługa audio w samochodzie mogła zarządzać regulacją głośności. Jeśli flaga config_useFixedVolume nie jest ustawiona lub ma wartość false (wartość domyślna), aplikacje mogą wywoływać interfejsy API zarządzania głośnością AudioManager i zmieniać głośność według typu strumienia w mikserze oprogramowania. Może to być niepożądane ze względu na potencjalny wpływ na inne aplikacje i fakt, że tłumienie głośności w mikserze programowym może skutkować mniejszą liczbą znaczących bitów dostępnych w sygnałach odbieranych przez wzmacniacz sprzętowy. Nowe urządzenia, które nie zostały skonfigurowane i są ustawione na true odbieranie zmian głośnościtrue za pomocą interfejsów AudioManager volume i mute API.
|
config_handleVolumeKeysInWindowManager |
Zdefiniowana w frameworks/base/core/res/res/values/config.xml , musi mieć wartość true , aby usługa audio w samochodzie mogła przechwytywać zdarzenia klawiszy głośności. Jeśli ta wartość jest ustawiona na false (wartość domyślna), zdarzenia klawiszy głośności mogą być przekazywane do aplikacji na pierwszym planie i prowadzić do niekorzystnych wyników zarządzania zdarzeniami klawiszy głośności poza usługą audio w samochodzie. |
audioUseMinMaxActivationVolume |
Zdefiniowane w pliku konfiguracyjnym usługi samochodowej, aby włączyć
minimalną i maksymalną liczbę aktywacji. Gdy
true , indeks wzrostu głośności można dostosować ze względu na zarządzanie minimalną i maksymalną głośnością aktywacji. Gdy
false (wartość domyślna), minimalna i maksymalna liczba aktywacji nie mają wpływu.
|
audioUseFadeManagerConfiguration |
Zdefiniowane w pliku konfiguracji usługi samochodowej, aby włączyć
zachowanie związane z utratą fokusu dźwięku wymuszane przez system. Gdy true , framework audio w samochodzie analizuje definicje konfiguracji zanikania dźwięku w samochodzie i stosuje odpowiednie FadeManagerConfiguration podczas wysyłania utraty ostrości dźwięku. Gdy wartość wynosi false (wartość domyślna), system nie wymusza wyciszania, gdy aplikacja traci fokus audio.
|
Konfiguracje usługi audio w samochodzie
Przed Androidem 13 konfiguracje usług samochodowych były zastępowane nakładką konfiguracji produktu (więcej informacji znajdziesz w artykule Dostosowywanie kompilacji za pomocą nakładek zasobów) w przypadku pliku packages/services/Car/service/res/values/config.xml
.
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
Lokalizacja pliku konfiguracyjnego od <path_to_overlay>
do rzeczywistej lokalizacji powinna zawierać packages/services/Car/service/res/values/
.
Kasy rejestrujące w serwisach samochodowych
Od Androida 13 AAOS obsługuje nakładki zasobów w czasie działania. Użyj RRO, aby zmienić wartość konfiguracji audio w samochodzie. Na przykład zobacz RRO dla motoryzacji cuttlefish
w device/google/cuttlefish/shared/auto/rro_overlay/
. Konfiguracja audioUseDynamicRouting
jest zastępowana w device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
.
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
Mapa nakładki zasobów znajduje się w:device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
Plik manifestu nakładki zasobu zdefiniowany w
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
zawiera targetPackage
ustawiony jako com.android.car.updatable
.
Więcej informacji znajdziesz w tych materiałach:
- Nakładki zasobów środowiska wykonawczego
- Rozwiązywanie problemów z nakładkami zasobów w czasie działania
Interfejs API z włączoną funkcją
Metoda zwraca wartość true
, jeśli funkcja jest włączona na urządzeniu, w przeciwnym razie zwraca wartość false
. W interfejsie CarAudioManager#isAudioFeatureEnabled
API przekazywany parametr musi mieć jedną z tych wartości:
AUDIO_FEATURE_DYNAMIC_ROUTING
AUDIO_FEATURE_VOLUME_GROUP_MUTING
AUDIO_FEATURE_OEM_AUDIO_SERVICE
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
AUDIO_FEATURE_AUDIO_MIRRORING