Операционная система Android Automotive OS (AAOS) использует флаги и конфигурации для включения различных функций, начиная с динамической маршрутизации и заканчивая более общими флагами функций, такими как регулировка громкости из автомобильной службы. Текущие флаги конфигурации AAOS для управления звуком описаны здесь.
| Флаг | Цель |
|---|---|
audioUseDynamicRouting | Параметр «Включить маршрутизацию AAOS» определяется в файле конфигурации службы CarAudioService. Значение параметра должно быть установлено на true . Если false , маршрутизация и большая часть CarAudioService отключаются, и ОС возвращается к поведению по умолчанию, описанному в разделе «Настройка политик аудио» . |
useCoreAudioRouting | Определяется в конфигурационном файле автомобильной аудиосистемы для включения управления маршрутизацией звука в основной системе AAOS . Если значение установлено на true , автомобильная аудиосистема использует определения конфигурации, заданные с помощью настраиваемого механизма политик звука . Если значение установлено на false , управление маршрутизацией переключается на использование определения микса динамических политик звука автомобильной аудиосистемы, настроенного с помощью audioUseDynamicRouting . |
useCoreAudioVolume | Определяется в конфигурационном файле автомобильной службы для включения управления громкостью звука в ядре AAOS . Если значение установлено на true , автомобильная аудиослужба использует определения групп громкости, настроенные с помощью настраиваемого механизма политики звука . Если значение установлено на false , управление громкостью переключается на использование определения группы громкости по умолчанию автомобильной аудиослужбы, настроенного с помощью audioUseDynamicRouting . |
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 применима только в следующих контекстах, в указанном порядке. The default version is
|
audioPersistMasterMuteState | Определяется в файле конфигурации службы автомобиля, параметром, позволяющим сохранять глобальное состояние отключения звука. Если true (значение по умолчанию), Android восстанавливает глобальное состояние отключения звука при загрузке. Если audioUseCarVolumeGroupMuting имеет true , это не влияет на сохранение изменений состояния отключения звука, поскольку изменения основаны на отдельных группах громкости. Значение по умолчанию установлено на true и должно быть переопределено, если для устройства не требуется сохранять состояние отключения звука. |
audioVolumeKeyEventTimeoutMs | В файле конфигурации автомобильной службы определяется параметр, указывающий время ожидания в миллисекундах, в течение которого группа регулировки громкости автомобиля считается активной для изменений громкости при нажатии клавиш регулировки громкости. Этот параметр используется следующим образом:
Значение по умолчанию составляет |
audioUseCarVolumeGroupEvent | В файле конфигурации службы CarService задана настройка, позволяющая включать обратный вызов событий для групп громкости. Если 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 (значение по умолчанию), события нажатия клавиш регулировки громкости могут перенаправляться в приложение переднего плана, что может привести к негативным последствиям при управлении событиями нажатия клавиш регулировки громкости вне службы автомобильной аудиосистемы. |
audioUseMinMaxActivationVolume | Определяется в файле конфигурации автомобильной службы для включения минимального и максимального уровня громкости активации . Если true , индекс усиления громкости может быть отрегулирован за счет управления минимальным и максимальным уровнем громкости активации. Если значение false (значение по умолчанию), минимальный и максимальный уровень громкости активации не применяются. |
audioUseFadeManagerConfiguration | Определяется в файле конфигурации автомобильной службы для включения поведения системы при потере фокуса на звуке . Если true , платформа автомобильной аудиосистемы анализирует определения конфигурации затухания звука и применяет соответствующую FadeManagerConfiguration при обработке потери фокуса на звуке. Если значение false (значение по умолчанию), система не применяет поведение затухания звука при потере фокуса на звуке приложением. |
Car audio service configs
До 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/ .
Car service RROs
Начиная с Android 13, AAOS поддерживает наложения ресурсов во время выполнения (Runtime resource overlays, RRO). Используйте RRO для изменения значения конфигурации автомобильной аудиосистемы. Например, см. RRO для справочника по Automotive 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 .
See these resources for more information:
Feature-enabled 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