El sistema operativo Android Automotive (AAOS) utiliza indicadores y configuraciones para habilitar diferentes funciones, desde el enrutamiento dinámico hasta indicadores de funciones más genéricas, como el control de volumen del servicio de automóvil. Aquí se describen los indicadores de configuración actuales de AAOS para la gestión de audio.
Bandera | Objetivo | |
---|---|---|
audioUseDynamicRouting | Definido en el archivo de configuración del servicio de automóvil para habilitar el enrutamiento AAOS . La configuración debe establecerse en true . Cuando es false , el enrutamiento y gran parte de CarAudioService se desactivan y el sistema operativo vuelve al comportamiento predeterminado descrito en Configuración de políticas de audio . | |
audioUseCarVolumeGroupMuting | Definido en el archivo de configuración del servicio de automóvil para permitir el silenciamiento de grupos de volúmenes individuales. Cuando se establece en false (el valor predeterminado), se desactiva el silenciamiento de grupos de volúmenes individuales. En cambio, silenciar alterna el silencio maestro. Cuando se establece en true , se habilita el silenciamiento del grupo de volumen del automóvil y cada grupo de volumen individual se puede silenciar por separado. Cuando es true , el silenciamiento del grupo de volumen debe implementarse en el control de audio HAL . | |
audioUseHalDuckingSignals | Definido en el archivo de configuración del servicio de automóvil para habilitar la API IAudioControl#onDevicesToDuckChange para informar a HAL cuándo agacharse. Cuando true (valor predeterminado), la API recibe señales que indican qué dispositivos de salida evitar y qué usos mantienen el foco. Cuando false , no se llama a la API. No se llama a la API a menos que Audio Control HAL implemente reducción. | |
config_oemCarService | Definido en el archivo de configuración del servicio de automóvil, este es el nombre del componente para el servicio de personalización OEM. Los OEM pueden optar por implementar este servicio para personalizar las acciones de servicio del automóvil para diferentes políticas. Si los OEM optan por implementar este componente, deben implementar un servicio para ampliar OemCarService expuesto por car-lib y luego implementar los servicios de componentes requeridos. Específicamente para el servicio de audio para automóviles, los OEM pueden implementar cualquiera de los subservicios de audio para administrar la acción de audio. Para obtener más información, consulte Servicio de complementos de audio para el automóvil . Si el nombre del componente no es válido, CarService no se conectará a ningún servicio OEM. El nombre del componente no puede ser un paquete de terceros. Debe estar preinstalado. | audioVolumeAdjustmentContextsVersion | Definido en el archivo de configuración del servicio de automóvil, configuración para seleccionar la versión de la lista de prioridades del contexto de ajuste de volumen. La versión 1 incluye todos los contextos de audio, en este orden:
La versión 2 está limitada a los siguientes contextos, en este orden. La versión predeterminada es
|
audioPersistMasterMuteState | Definido en el archivo de configuración del servicio de automóvil, configuración para persistir en el estado de silencio global. Cuando true (el valor predeterminado), Android restaura el estado de silencio global al arrancar. Cuando audioUseCarVolumeGroupMuting es true , esto no tiene ningún impacto en los cambios de silencio persistentes, ya que los cambios de silencio se basan en grupos de volúmenes individuales. El valor predeterminado se establece en true y se debe sobrescribir cuando el silencio maestro no se debe conservar para un dispositivo. | |
audioVolumeKeyEventTimeoutMs | Definido en el archivo de configuración del servicio de automóvil, configuración para indicar el tiempo de espera en milisegundos mientras un grupo de volumen de automóvil se considera activo para cambios de control de volumen durante eventos de tecla de volumen. La configuración se utiliza de la siguiente manera:
El valor predeterminado es | |
audioUseCarVolumeGroupEvent | Definido en el archivo de configuración del servicio de automóvil, configuración para habilitar eventos de devolución de llamada a grupos de volúmenes. Cuando es true , los clientes reciben una devolución de llamada a través de ICarVolumeGroupEvent a eventos que afectan a los grupos de volúmenes. Cuando está habilitado:
El valor predeterminado es | |
config_useFixedVolume | Definido en frameworks/base/core/res/res/values/config.xml . Debe establecerse en true para permitir que el servicio de audio del automóvil administre el control de volumen. Cuando el indicador config_useFixedVolume no está configurado o está configurado en false (el valor predeterminado), las aplicaciones pueden llamar a las API de administración de volumen AudioManager y cambiar el volumen por tipo de transmisión en el mezclador de software. Esto puede no ser deseable debido al efecto potencial en otras aplicaciones y al hecho de que la atenuación del volumen en el mezclador de software puede resultar en menos bits significativos disponibles en la señal cuando se recibe en el amplificador de hardware. Los dispositivos nuevos que no se han configurado y que están configurados en true reciben cambios de volumen a través de las API de volumen y silencio AudioManager . | |
config_handleVolumeKeysInWindowManager | Definido en frameworks/base/core/res/res/values/config.xml , debe establecerse en true para permitir que el servicio de audio del automóvil intercepte eventos de clave de volumen. Si se configura en false (el valor predeterminado), los eventos de la tecla de volumen se pueden reenviar a la aplicación de primer plano y pueden provocar resultados adversos en la gestión de eventos de la tecla de volumen fuera del servicio de audio del automóvil. |
Configuraciones del servicio de audio del automóvil
Antes de Android 13, las configuraciones de los servicios de automóviles se sobrescribían con una superposición de configuración del producto (para obtener más información, consulte Personalización de la compilación con superposiciones de recursos ) para el archivo packages/services/Car/service/res/values/config.xml
.
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
La ubicación del archivo de configuración desde <path_to_overlay>
hasta la ubicación real debe incluir packages/services/Car/service/res/values/
.
RRO de servicio de automóviles
Desde Android 13, AAOS admite superposiciones de recursos en tiempo de ejecución . Utilice un RRO para cambiar el valor de la configuración de audio del automóvil. Por ejemplo, consulte los RRO para la referencia cuttlefish
automotriz en device/google/cuttlefish/shared/auto/rro_overlay/
. La configuración audioUseDynamicRouting
se anula en device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
.
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
El mapa de superposición de recursos está contenido en device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml
:
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
El manifiesto de superposición de recursos definido en device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
contiene el targetPackage
configurado como com.android.car.updatable
.
Consulte estos recursos para obtener más información:
- Superposiciones de recursos en tiempo de ejecución
- Solución de problemas de superposiciones de recursos en tiempo de ejecución
API habilitada para funciones
El método devuelve true
si la función está habilitada en el dispositivo; de lo contrario, es false
. En la API CarAudioManager#isAudioFeatureEnabled
, el parámetro pasado debe ser uno de:
-
AUDIO_FEATURE_DYNAMIC_ROUTING
-
AUDIO_FEATURE_VOLUME_GROUP_MUTING
-
AUDIO_FEATURE_OEM_AUDIO_SERVICE
-
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
-
AUDIO_FEATURE_AUDIO_MIRRORING