Android Automotive OS (AAOS) использует флаги и конфигурации для включения различных функций, начиная с динамической маршрутизации и заканчивая более общими флагами функций, такими как регулировка громкости в автосервисе. Здесь описаны текущие флаги конфигурации AAOS для управления звуком.
Флаг | Цель | |
---|---|---|
audioUseDynamicRouting | В файле конфигурации автосервиса определено включение маршрутизации AAOS . В конфигурации должно быть установлено значение true . Если false , маршрутизация и большая часть CarAudioService отключаются, и ОС возвращается к поведению по умолчанию, описанному в разделе Настройка политик аудио . | |
audioUseCarVolumeGroupMuting | Определено в файле конфигурации автосервиса для включения отключения звука отдельных групп громкости. Если установлено значение false (значение по умолчанию), отключение звука отдельных групп томов отключается. Вместо этого приглушение переключает общее отключение звука. Если установлено значение true , включено отключение звука в группе громкости автомобиля, и звук каждой отдельной группы громкости можно отключить отдельно. Если true , приглушение группы громкости должно быть реализовано в HAL управления звуком . | |
audioUseHalDuckingSignals | Определено в файле конфигурации автосервиса, чтобы API IAudioControl#onDevicesToDuckChange сообщал HAL, когда нужно пригнуться. Если true (значение по умолчанию), API получает сигналы, указывающие, какие устройства вывода следует отключить и какие способы использования удерживают фокус. Если false , API не вызывается. API не вызывается, если HAL управления звуком не реализует приглушение. | |
config_oemCarService | Определенное в файле конфигурации автосервиса, это имя компонента OEM-сервиса настройки. OEM-производители могут реализовать эту услугу, чтобы настроить действия автосервиса для различных политик. Если OEM-производители решат реализовать этот компонент, они должны реализовать службу для расширения OemCarService предоставляемую car-lib, а затем реализовать необходимые службы компонента. В частности, что касается автомобильной аудиосистемы, OEM-производители могут реализовать любую из дополнительных аудиослужб для управления звуковыми действиями. Подробную информацию см. в разделе Служба плагинов автомобильной аудиосистемы . Если имя компонента неверно, CarService не сможет подключиться ни к одной OEM-службе. Имя компонента не может быть сторонним пакетом. Он должен быть предварительно установлен. | audioVolumeAdjustmentContextsVersion | Определяется в файле конфигурации автосервиса, конфигурация для выбора версии списка приоритетов контекста регулировки громкости. Версия 1 включает все аудиоконтексты в следующем порядке:
Версия 2 ограничена следующими контекстами в указанном порядке. Версия по умолчанию —
|
audioPersistMasterMuteState | Определено в файле конфигурации автосервиса, конфигурация для сохранения глобального состояния отключения звука. Если true (значение по умолчанию), Android восстанавливает глобальное состояние отключения звука при загрузке. Если audioUseCarVolumeGroupMuting имеет true , это не влияет на сохранение изменений отключения звука, поскольку изменения отключения звука основаны на отдельных группах громкости. Значение по умолчанию установлено в true и должно быть перезаписано, если не требуется сохранение основного отключения звука для устройства. | |
audioVolumeKeyEventTimeoutMs | Определенная в файле конфигурации автосервиса конфигурация для указания тайм-аута в миллисекундах, в течение которого группа громкости автомобиля считается активной для изменений регулировки громкости во время событий клавиши громкости. Конфигурация используется следующим образом:
Значение по умолчанию составляет | |
audioUseCarVolumeGroupEvent | Определенная в файле конфигурации автосервиса конфигурация для включения событий обратного вызова в группы томов. Если true , клиенты получают обратный вызов через ICarVolumeGroupEvent для событий, влияющих на группы томов. Когда включено:
Значение по умолчанию — | |
config_useFixedVolume | Определено в frameworks/base/core/res/res/values/config.xml . Должно быть установлено значение true , чтобы разрешить автозвуковой службе управлять громкостью. Если флаг config_useFixedVolume не установлен или для него установлено значение false (значение по умолчанию), приложения могут вызывать API управления громкостью AudioManager и изменять громкость по типу потока в программном микшере. Это может быть нежелательно из-за потенциального влияния на другие приложения и того факта, что затухание громкости в программном микшере может привести к уменьшению количества значащих битов, доступных в сигнале при приеме на аппаратный усилитель. Новые устройства, которые не были настроены и для которых установлено true получают изменения громкости через API громкости и отключения звука AudioManager . | |
config_handleVolumeKeysInWindowManager | Определено в frameworks/base/core/res/res/values/config.xml и должно быть установлено в true , чтобы служба автомобильной аудиосистемы могла перехватывать события клавиш громкости. Если установлено значение false (значение по умолчанию), события клавиши громкости могут быть перенаправлены в приложение переднего плана и могут привести к неблагоприятным результатам при управлении событиями клавиши громкости за пределами службы автомобильной аудиосистемы. |
Конфигурации автозвука
До версии Android 13 конфигурации автосервиса перезаписывались наложением конфигурации продукта (более подробную информацию см. в разделе Настройка сборки с наложением ресурсов ) для файла packages/services/Car/service/res/values/config.xml
.
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
Расположение файла конфигурации от <path_to_overlay>
до фактического местоположения должно включать packages/services/Car/service/res/values/
.
Автосервис РРО
Начиная с Android 13, AAOS поддерживает наложения ресурсов среды выполнения . Используйте RRO, чтобы изменить значение конфигурации автомобильной аудиосистемы. Например, см. RRO для ссылки на автомобильную cuttlefish
в device/google/cuttlefish/shared/auto/rro_overlay/
. Конфигурация audioUseDynamicRouting
переопределяется в файле device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
.
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
Карта наложения ресурсов содержится в device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml
:
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
Манифест наложения ресурса, определенный в device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
содержит targetPackage
установленный как com.android.car.updatable
.
Дополнительные сведения см. на этих ресурсах:
API с поддержкой функций
Метод возвращает true
если эта функция включена на устройстве, в противном случае — false
. В API CarAudioManager#isAudioFeatureEnabled
передаваемый параметр должен быть одним из:
-
AUDIO_FEATURE_DYNAMIC_ROUTING
-
AUDIO_FEATURE_VOLUME_GROUP_MUTING
-
AUDIO_FEATURE_OEM_AUDIO_SERVICE
-
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
-
AUDIO_FEATURE_AUDIO_MIRRORING