System operacyjny Android Automotive (AAOS) korzysta z flag i konfiguracji, aby włączać różne funkcje, począwszy od dynamicznego routingu po bardziej ogólne flagi funkcji, takie jak sterowanie głośnością w usługach samochodowych. Tutaj opisano flagi konfiguracji AAOS dotyczące zarządzania dźwiękiem.
Zgłoś | Cel | |
---|---|---|
audioUseDynamicRouting |
Zdefiniowany w pliku konfiguracji usługi samochodowej, aby włączyć routing AAOS.
Konfiguracja musi mieć wartość true . Gdy false ,
routing i duża część CarAudioService są wyłączone, system operacyjny
przechodzi do domyślnego zachowania opisanego w sekcji Konfigurowanie zasad dotyczących dźwięku.
|
|
audioUseCarVolumeGroupMuting
| Zdefiniowany w pliku konfiguracji usługi samochodowej, aby umożliwić wyciszenie poszczególnych grup głośności. Gdy ustawienie to ma wartość false (wartość domyślna), wyciszanie poszczególnych grup głośności jest wyłączone. Zamiast tego przełącznik wyciszenia powoduje wyciszenie wszystkich mikrofonów.
Gdy ustawisz wartość true , wyciszenie grupy głośności samochodu zostanie włączone, a każdą grupę głośności można wyciszyć osobno. Gdy true , wyciszanie grupy głośności musi być zaimplementowane w Audio Control HAL.
| |
audioUseHalDuckingSignals |
Zdefiniowany w pliku konfiguracji usługi samochodowej, aby umożliwić interfejsowi API IAudioControl#onDevicesToDuckChange informowanie HAL, kiedy należy się zatrzymać. Gdy true (wartość domyślna), interfejs API otrzymuje sygnały wskazujące, które urządzenia wyjściowe należy wyciszyć i jakie zastosowania mają pozostać w fokusie. Gdy false , interfejs API nie jest wywoływany. Interfejs API nie jest wywoływany, chyba że HAL sterowania dźwiękiem obsługuje wyciszanie.
|
|
config_oemCarService |
Zdefiniowana w pliku konfiguracji usługi samochodowej nazwa komponentu usługi dostosowywania OEM. Producenci OEM mogą wdrożyć tę usługę, aby dostosować działania związane z serwisem samochodu do różnych zasad. Jeśli OEM zdecyduje się zaimplementować ten komponent, musi wdrożyć usługę rozszerzającą OemCarService udostępnianą przez car-lib, a następnie wdrożyć wymagane usługi komponentów. W przypadku usługi audio w samochodzie OEM może zaimplementować dowolną pod usługę audio, aby zarządzać działaniem audio. Więcej informacji znajdziesz w usłudze Car Audio Plugin.
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 zainstalowany. |
|
audioVolumeAdjustmentContextsVersion |
Zdefiniowany w pliku konfiguracji usługi samochodowej, aby wybrać wersję 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 tej kolejności): Wersja domyślna to
|
|
audioPersistMasterMuteState |
Zdefiniowany w pliku konfiguracji usługi samochodowej, aby zachować globalny stan wyciszenia. Gdy true (wartość domyślna) Android przywraca globalny stan wyciszenia po uruchomieniu. Jeśli audioUseCarVolumeGroupMuting jest ustawione na
true , nie ma to wpływu na trwałe zmiany wyciszenia, ponieważ zmiany wyciszenia są oparte na poszczególnych grupach głośności. Wartość domyślna to true i musi zostać zastąpiona, gdy nie chcesz, aby wyciszenie główne było przechowywane na urządzeniu. |
|
audioVolumeKeyEventTimeoutMs |
Zdefiniowana w pliku konfiguracji usługi samochodowej konfiguracja, która wskazuje czas oczekiwania (w milisekundach) podczas aktywnej obsługi głośności w samochodzie w przypadku zmian głośności podczas zdarzeń związanych z kluczem głośności. Konfiguracja jest używana w ten sposób:
Wartość domyślna to |
|
audioUseCarVolumeGroupEvent |
Zdefiniowana w pliku konfiguracji usługi samochodowej konfiguracja umożliwiająca przekazywanie zdarzeń wywołania zwrotnego do grup objętości. Gdy true , klienci otrzymują wywołanie zwrotne ICarVolumeGroupEvent do zdarzeń, które wpływają na grupy objęte objętością. Gdy jest włączona:
Wartość domyślna to |
|
config_useFixedVolume
| Zdefiniowane w frameworks/base/core/res/res/values/config.xml .
Musi być ustawione na true , aby umożliwić usłudze audio w samochodzie zarządzanie regulacją głośności. Jeśli flaga config_useFixedVolume nie jest ustawiona lub jest ustawiona na false (wartość domyślna), aplikacje mogą wywoływać interfejsy API do zarządzania głośnością AudioManager i zmieniać głośność według typu strumienia w mikserze programowym. Może to być niepożądane ze względu na potencjalny wpływ na inne aplikacje oraz fakt, że tłumienie głośności w mikserze programowym może spowodować, że sygnał będzie zawierał mniej znaczących bitów po otrzymaniu przez wzmacniacz sprzętowy. Nowe urządzenia, które nie zostały skonfigurowane i są ustawione na true , otrzymują zmiany głośności za pomocą interfejsów API do regulowania głośności i wyciszania AudioManager .
|
|
config_handleVolumeKeysInWindowManager |
Zdefiniowana w ustawieniu frameworks/base/core/res/res/values/config.xml , musi mieć wartość true , aby umożliwić usługom audio w samochodzie przechwytywanie zdarzeń związanych z klawiszami głośności. Jeśli ustawisz wartość false (wartość domyślna), zdarzenia związane z kluczem głośności mogą być przekierowywane do aplikacji na pierwszym planie, co może spowodować niekorzystne skutki zarządzania zdarzeniami związanymi z kluczem głośności poza usługą audio samochodową. |
|
audioUseMinMaxActivationVolume |
Zdefiniowany w pliku konfiguracji usługi samochodowej w celu umożliwienia
minimalnej i maksymalnej liczby aktywacji. Gdy true , indeks wzmocnienia głośności można dostosować ze względu na minimalną i maksymalną objętość aktywacji. Jeśli ustawisz wartość false (wartość domyślna), minimalna i maksymalna objętość aktywacji nie będą obowiązywać.
|
Konfiguracje usług dźwięku w samochodzie
Przed Androidem 13 konfiguracje usług samochodowych były zastępowane za pomocą nakładki konfiguracji produktu (więcej informacji znajdziesz w artykule Dostosowywanie kompilacji za pomocą nakładek zasobów) w pliku packages/services/Car/service/res/values/config.xml
.
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
Lokalizacja pliku konfiguracyjnego (<path_to_overlay>
) powinna obejmować packages/services/Car/service/res/values/
.
Serwis samochodowy RROs
Od Androida 13 AAOS obsługuje nakładki zasobów w czasie wykonywania. Użyj RRO, aby zmienić wartość konfiguracji dźwięku w samochodzie. Przykład: RRO dotyczące cuttlefish
w dokumentacji device/google/cuttlefish/shared/auto/rro_overlay/
. Konfiguracja audioUseDynamicRouting
jest zastąpiona 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 teczkach: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 pliku device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
zawiera element 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 wykonywania
Interfejs API z włączonymi funkcjami
Metoda zwraca true
, jeśli funkcja jest włączona na urządzeniu, w przeciwnym razie false
. W interfejsie API CarAudioManager#isAudioFeatureEnabled
parametr przekazany w ramach wywołania musi być jednym z tych:
AUDIO_FEATURE_DYNAMIC_ROUTING
AUDIO_FEATURE_VOLUME_GROUP_MUTING
AUDIO_FEATURE_OEM_AUDIO_SERVICE
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
AUDIO_FEATURE_AUDIO_MIRRORING