System operacyjny Android Automotive (AAOS) wykorzystuje flagi i konfiguracje do włączania różnych funkcji, począwszy od routingu dynamicznego po bardziej ogólne flagi funkcji, takie jak regulacja głośności z serwisu samochodowego. Tutaj opisano aktualne flagi konfiguracyjne AAOS do zarządzania dźwiękiem.
Flaga | Zamiar | |
---|---|---|
audioUseDynamicRouting | Zdefiniowano w pliku konfiguracyjnym usługi samochodowej, aby włączyć routing AAOS . Konfiguracja musi być ustawiona na true . Kiedy false , routing i większość CarAudioService są wyłączone, a system operacyjny powraca do domyślnego zachowania opisanego w Konfigurowanie zasad audio . | |
audioUseCarVolumeGroupMuting | Zdefiniowano w pliku konfiguracyjnym serwisu samochodowego, aby umożliwić wyciszenie poszczególnych grup głośności. Jeśli ustawione na false (wartość domyślna), wyciszenie poszczególnych grup głośności jest wyłączone. Zamiast tego wyciszenie przełącza wyciszenie główne. Po ustawieniu na true wyciszenie grupy głośności w samochodzie jest włączone i każdą grupę głośności można wyciszyć osobno. Jeśli ma true , w warstwie HAL sterowania dźwiękiem należy zastosować wyciszenie grupy głośności. | |
audioUseHalDuckingSignals | Zdefiniowano w pliku konfiguracyjnym usługi samochodowej, aby umożliwić interfejsowi API IAudioControl#onDevicesToDuckChange informowanie warstwy HAL o konieczności schylenia się. Jeśli ma wartość true (wartość domyślna), interfejs API odbiera sygnały wskazujące, które urządzenia wyjściowe mają zostać pominięte i jakie zastosowania są przedmiotem zainteresowania. Gdy false , interfejs API nie jest wywoływany. Interfejs API nie jest wywoływany, chyba że warstwa HAL sterowania dźwiękiem implementuje wyciszanie. | |
config_oemCarService | Jest to nazwa komponentu usługi dostosowywania OEM, zdefiniowana w pliku konfiguracyjnym serwisu samochodowego. Producenci OEM mogą zdecydować się na wdrożenie tej usługi, aby dostosować działania serwisu samochodowego do różnych zasad. Jeśli producenci OEM zdecydują się na wdrożenie tego komponentu, muszą wdrożyć usługę rozszerzającą OemCarService udostępnianą przez car-lib, a następnie wdrożyć wymagane usługi komponentowe. W szczególności w przypadku usług car audio producenci OEM mogą wdrożyć dowolne podusługi audio w celu zarządzania działaniami audio. Aby uzyskać szczegółowe informacje, zobacz Usługa wtyczki Car Audio . Jeśli nazwa komponentu jest nieprawidłowa, CarService nie połączy się z żadną usługą OEM. Nazwa komponentu nie może być pakietem strony trzeciej. Musi być wstępnie zainstalowany. | audioVolumeAdjustmentContextsVersion | Zdefiniowana w pliku konfiguracyjnym serwisu samochodowego konfiguracja umożliwiająca wybór wersji listy priorytetów kontekstu regulacji głośności. Wersja 1 zawiera wszystkie konteksty audio, w następującej kolejności:
Wersja 2 jest ograniczona do następujących kontekstów, w tej kolejności. Domyślna wersja to
|
audioPersistMasterMuteState | Zdefiniowany w pliku konfiguracyjnym serwisu samochodowego, konfiguracja utrzymująca globalny stan wyciszenia. Gdy true (wartość domyślna), Android przywraca globalny stan wyciszenia podczas uruchamiania. Gdy audioUseCarVolumeGroupMuting ma 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 jest ustawiona na true i musi zostać nadpisana, jeśli główne wyciszenie nie powinno być utrwalane dla urządzenia. | |
audioVolumeKeyEventTimeoutMs | Zdefiniowana w pliku konfiguracyjnym usługi samochodowej, konfiguracja wskazująca limit czasu w milisekundach, podczas którego grupa woluminów samochodu jest uważana za aktywną w przypadku zmian regulacji głośności podczas zdarzeń związanych z klawiszami głośności. Konfiguracja jest używana w następujący sposób:
Wartość domyślna to | |
audioUseCarVolumeGroupEvent | Zdefiniowana w pliku konfiguracyjnym usługi samochodowej, konfiguracja umożliwiająca włączenie zdarzeń wywołania zwrotnego do grup woluminów. Gdy true klienci otrzymują wywołanie zwrotne za pośrednictwem ICarVolumeGroupEvent do zdarzeń mających wpływ na grupy woluminów. Po włączeniu:
Wartość domyślna to | |
config_useFixedVolume | Zdefiniowane w frameworks/base/core/res/res/values/config.xml . Musi mieć wartość true , aby usługa car audio 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 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 skutkować mniejszą liczbą znaczących bitów dostępnych w sygnale odbieranym przez wzmacniacz sprzętowy. Nowe urządzenia, które nie zostały skonfigurowane i są ustawione na true zmiany głośności odbioru poprzez interfejsy API AudioManager dotyczące głośności i wyciszenia. | |
config_handleVolumeKeysInWindowManager | Zdefiniowane w frameworks/base/core/res/res/values/config.xml , musi być ustawione na true , aby usługa car audio mogła przechwytywać zdarzenia związane z klawiszami głośności. Jeśli ustawiono wartość false (wartość domyślna), zdarzenia związane z klawiszami głośności mogą być przekazywane do aplikacji na pierwszym planie i mogą prowadzić do niekorzystnych wyników w przypadku zarządzania zdarzeniami związanymi z klawiszami głośności poza usługą car audio. |
Konfiguracje usług car audio
Przed wersją Androida 13 konfiguracje usług samochodowych były zastępowane nakładką konfiguracji produktu (aby dowiedzieć się więcej, zobacz Dostosowywanie kompilacji za pomocą nakładek zasobów ) dla 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 obejmować packages/services/Car/service/res/values/
.
Serwis samochodowy RRO
Od wersji Androida 13 AAOS obsługuje nakładki zasobów środowiska wykonawczego . Użyj RRO, aby zmienić wartość konfiguracji car audio. Na przykład zobacz RRO dotyczące cuttlefish
samochodowej w device/google/cuttlefish/shared/auto/rro_overlay/
. Konfiguracja audioUseDynamicRouting
została 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 jest zawarta w device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml
:
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
Manifest nakładki zasobów zdefiniowany w device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
zawiera targetPackage
ustawiony jako com.android.car.updatable
.
Aby uzyskać więcej informacji, zobacz te zasoby:
- Nakładki zasobów środowiska wykonawczego
- Rozwiązywanie problemów z nakładkami zasobów środowiska wykonawczego
API z obsługą funkcji
Metoda zwraca true
, jeśli funkcja jest włączona na urządzeniu, w przeciwnym razie false
. W interfejsie API CarAudioManager#isAudioFeatureEnabled
przekazany parametr musi być jednym z:
-
AUDIO_FEATURE_DYNAMIC_ROUTING
-
AUDIO_FEATURE_VOLUME_GROUP_MUTING
-
AUDIO_FEATURE_OEM_AUDIO_SERVICE
-
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
-
AUDIO_FEATURE_AUDIO_MIRRORING