Flagi AAOS konfiguracji audio

System operacyjny Android Automotive (AAOS) używa flag i konfiguracji, aby umożliwiać od dynamicznego routingu do bardziej ogólnych flag funkcji, takich jak regulacja głośności w serwisie samochodowym. Bieżące flagi konfiguracji AAOS dla dźwięku opisane poniżej.

Zgłoś Cel
audioUseDynamicRouting Zdefiniowany w pliku konfiguracji usługi samochodowej jako Włącz routing AAOS. Konfiguracja musi być ustawiona na true. Gdy false, routing i znaczna część sieci CarAudioService są wyłączone, a system operacyjny powraca do domyślnego zachowania opisanego w Konfigurowanie zasad dotyczących audio
audioUseCarVolumeGroupMuting Zdefiniowany w pliku konfiguracji usługi samochodowej, aby umożliwić wyciszenie poszczególnych osób grup woluminów. Gdy ustawiona jest wartość false (wartość domyślna), wyciszanie poszczególne grupy woluminów są wyłączone. Zamiast tego wyciszenie włącza dźwięk główny. Gdy ustawisz wartość true, wyciszanie grup głośności samochodu będzie włączone, a każde poszczególne grupy głośności można wyciszyć oddzielnie. Gdy true, wyciszanie grupy głośności musi być wdrożone na poziomie HAL do sterowania dźwiękiem.
audioUseHalDuckingSignals zdefiniowany w pliku konfiguracji usługi samochodowej, aby włączyć Interfejs API IAudioControl#onDevicesToDuckChange informujący o tym, kiedy należy kaczka. Gdy true (wartość domyślna), interfejs API odbiera sygnały wskazujące, urządzenia wyjściowe, które mają być wyciszone, i jakie zastosowania są nastawione na skupienie. Gdy false, interfejs API nie jest wywoływany. Interfejs API nie jest wywoływany, chyba że HAL do sterowania dźwiękiem stosuje wyciszanie tła.
config_oemCarService Zdefiniowana w pliku konfiguracji usługi samochodowej jest to nazwa komponentu dla usługi dostosowywania OEM. OEM może wdrożyć tę usługę, aby dostosować działania związane z usługami samochodowymi pod kątem różnych zasad; Jeśli OEM zdecyduje się implementują ten komponent, muszą wdrożyć usługę, aby rozszerzyć OemCarService ujawnione przez car-lib, a następnie zaimplementować wymaganych usług składowych. W przypadku samochodowych usług audio, OEM może wdrożyć dowolną z usług podrzędnych audio, aby zarządzać działaniami związanymi z dźwiękiem. Dla: szczegóły, patrz Usługa wtyczki Car Audio. Jeśli nazwa komponentu jest nieprawidłowa, CarService nie połączy się do jakiejkolwiek usługi OEM. Nazwa komponentu nie może być pakietem innej firmy. it musi być wstępnie zainstalowany.
audioVolumeAdjustmentContextsVersion

Zdefiniowana w pliku konfiguracji usługi samochodowej, konfiguracja określająca wybór wersji listy priorytetów kontekstu dostosowania woluminu.

Wersja 1 zawiera wszystkie konteksty dźwiękowe w tej kolejności:

  • NAVIGATION
  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
  • CALL_RING
  • SYSTEM_SOUND
  • SAFETY
  • ALARM
  • NOTIFICATION
  • VEHICLE_STATUSEMERGENCY

Wersja 2 jest ograniczona do poniższych kontekstów (w tej kolejności).

Wersja domyślna to 1.

  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
audioPersistMasterMuteState Zdefiniowana w pliku konfiguracji usługi samochodowej, konfiguracja zachowywana jako globalna wyciszenia. Gdy true (wartość domyślna) Android przywróci globalny stan wyciszenia podczas uruchamiania. Gdy audioUseCarVolumeGroupMuting to true, nie ma to wpływu na trwałe zmiany wyciszenia w trybie wyciszenia zmiany są oparte na poszczególnych grupach woluminów. Wartość domyślna to true i trzeba je zastąpić, jeśli nie chcesz korzystać z wyciszenia głównego wciąż obowiązują w przypadku danego urządzenia.
audioVolumeKeyEventTimeoutMs

Zdefiniowana w pliku konfiguracji usługi samochodowej, konfiguracja w celu wskazania czas oczekiwania w milisekundach, gdy grupa głośności samochodu jest uznawana za aktywną przez zmiany regulacji głośności podczas zdarzeń związanych z głośnością. Używana jest konfiguracja w następujący sposób:

  • Limit czasu służy do określenia, czy odtwarzanie (powiązana głośność dźwięku z wykorzystaniem dźwięku podczas odtwarzania) może być uznawana za automatyczną ustawienia głośności po zakończeniu odtwarzania.
  • Limit czasu jest też używany jako czas wstrzymania między automatycznymi regulację głośności, aby dostosować regulację głośności.

Wartość domyślna to 3000 ms, a powinna być dostosowane przez producentów OEM w celu dostosowania do wygody użytkownika.

audioUseCarVolumeGroupEvent Zdefiniowana w pliku konfiguracji usługi samochodowej, konfiguracja pozwalająca włączyć wywołanie zwrotne zdarzeń i grup woluminów. Gdy true, klient otrzymuje oddzwonienie do ICarVolumeGroupEvent do zdarzeń mających wpływ na sprzedaż grup. Gdy ta opcja jest włączona:

  • Zdecydowanie zalecamy, aby dostawcy również IAudioControl#setModuleChangeCallback i IAudioControl#registerGainCallback dla wydarzeń i zmian w sprzęt audio.
  • Gdy zarówno CarVolumeCallback, jak i CarVolumeGroupEventCallback są zarejestrowane przez te same osoby z aplikacji, indeks grupy głośności i grupa głośności wyciszone wywołania zwrotne powinny wyłącznie przez: CarVolumeGroupEventCallback. Dlatego zdecydowanie zalecamy interfejsu wywołania zwrotnego, aby zapewnić stałą wydajność.
  • Wartość domyślna to false. Zalecamy ustawienie tej opcji na true, ponieważ interfejsy API do obsługi starszych woluminów wywołania zwrotne są wycofywane i wkrótce zostaną całkowicie usunięte.

config_useFixedVolume Definicja: frameworks/base/core/res/res/values/config.xml. Wartość musi mieć wartość true, aby usługa audio w samochodzie mogła zarządzać regulacja głośności. Gdy flaga config_useFixedVolume nie jest lub jest ustawiona na false (wartość domyślna), aplikacje mogą wywoływać metodę AudioManager interfejsów API do zarządzania woluminami i zmień głośność o w mikserze oprogramowania. Może to być niepożądane z powodu potencjalny wpływ na inne aplikacje oraz fakt, że tłumienie głośności może zmniejszyć liczbę znaczących bitów dostępnych odbieranego przez wzmacniacz sprzętowy. Nowe urządzenia bez została skonfigurowana i ma wartość true zmian liczby odbieranych wiadomości użyj głośności AudioManager i interfejsów API wyciszania.
config_handleVolumeKeysInWindowManager Definicja: frameworks/base/core/res/res/values/config.xml, wymagana musi mieć wartość true, aby umożliwić przechwytywanie przez system audio w samochodzie. kluczowe zdarzenia związane z głośnością. Jeśli jest ustawiona na false (wartość domyślna), głośność kluczowe zdarzenia mogą być przekazywane do aplikacji na pierwszym planie i mogą powodować niepożądane wyników pozyskiwanych z zarządzania zdarzeniami związanymi z głośnością poza usługą audio w samochodzie.

Konfiguracje samochodowej usługi audio

Przed Androidem 13 konfiguracje usług samochodowych były zastępowane z nakładką konfiguracji produktu (aby dowiedzieć się więcej, Dostosowywanie kompilacji za pomocą nakładek zasobów) dla pliku packages/services/Car/service/res/values/config.xml.

PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>

Lokalizacja pliku konfiguracyjnego od <path_to_overlay> do rzeczywistego lokalizacja powinna zawierać packages/services/Car/service/res/values/.

RRO w serwisie samochodowym

Od Androida 13 system AAOS obsługuje Nakładki zasobów środowiska wykonawczego. Użyj RRO, aby zmienić konfiguracji dźwięku w samochodzie. Możesz na przykład zobaczyć RRO dla witryny odwołanie do pojazdu cuttlefish 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ładana 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>

Plik manifestu nakładki zasobów zdefiniowany w 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:

Interfejs API z włączonymi funkcjami

Jeśli funkcja jest włączona na urządzeniu, metoda zwraca wartość true. W przeciwnym razie false W interfejsie API CarAudioManager#isAudioFeatureEnabled 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