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. Gdyfalse, routing i większośćCarAudioServicesą 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ść tofalse, 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 nafalse, 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 natrue, wyciszanie grupy głośności w samochodzie jest włączone i każdą grupę głośności można wyciszyć osobno. Gdytrue, 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#onDevicesToDuckChangeAPI informowanie HAL o tym, kiedy ma się wyciszyć. Gdytrue(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. Gdyfalse, 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 OemCarServiceudostę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,CarServicenie 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śćaudioUseCarVolumeGroupMutingtotrue, 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 totrue. 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
    przezICarVolumeGroupEventw 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 flagaconfig_useFixedVolumenie jest ustawiona lub ma wartośćfalse(wartość domyślna), aplikacje mogą wywoływać interfejsy API zarządzania głośnościąAudioManageri 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 natrueodbieranie zmian głośnościtrueza pomocą interfejsówAudioManagervolume 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 nafalse(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. Gdyfalse(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 odpowiednieFadeManagerConfigurationpodczas wysyłania utraty ostrości dźwięku. Gdy wartość wynosifalse(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
