O Android Automotive OS (AAOS) usa flags e configurações para permitir diferentes recursos, desde o roteamento dinâmico até sinalizações de recursos mais genéricas, como controle de volume do serviço veicular. Sinalizações atuais de configuração do AAOS para áudio de segurança são descritas aqui.
Sinalização | Objetivo | |
---|---|---|
audioUseDynamicRouting |
Definido no arquivo de configuração do serviço do carro para
Ative o roteamento AAOS.
A configuração precisa ser definida como true . Quando false ,
roteamento e grande parte do CarAudioService , estão desativados, e o SO
volta ao comportamento padrão descrito em
Como configurar políticas de áudio.
|
|
audioUseCarVolumeGroupMuting
| Definido no arquivo de configuração do serviço do carro para ativar o som de pessoas
grupos de volumes. Quando definida como false (o valor padrão), a desativação do som de
grupos de volumes individuais são desativados. Em vez disso, essa opção ativa o som do mestre.
Quando definido como true , o som do grupo de volume do carro será ativado, e cada
grupos de volumes individuais podem ser silenciados separadamente. Quando true ,
o silenciamento do grupo de volumes precisa ser implementado
HAL de controle de áudio:
| |
audioUseHalDuckingSignals |
Definida no arquivo de configuração do serviço do carro para ativar o
API IAudioControl#onDevicesToDuckChange para informar à HAL quando
pato. Quando true (valor padrão), a API recebe indicadores indicando quais
de saída e de saída e quais usos mantêm o foco. Quando false ,
a API não é chamada. A API não é chamada, a menos que
HAL de controle de áudio
implementa redução de áudio.
|
|
config_oemCarService |
Definido no arquivo de configuração do serviço do carro, é o nome do componente do
o serviço de personalização de OEM. OEMs podem optar por implementar esse serviço para
personalizar ações de serviço do carro para diferentes políticas. Se os OEMs optarem por
implementar esse componente, é preciso implementar um serviço para estender
OemCarService exposto por car-lib e, em seguida, implemente
os serviços dos componentes necessários. No caso específico do serviço de áudio veicular, os OEMs
pode implementar qualquer um dos subserviços de áudio para gerenciar a ação de áudio. Para
detalhes, consulte
Serviço de plug-in de áudio do carro.
Se o nome do componente for inválido, o CarService não conectaria
a qualquer serviço de OEM. O nome do componente não pode ser um pacote de terceiros. Ela
precisam estar pré-instalados. |
|
audioVolumeAdjustmentContextsVersion |
Definido no arquivo de configuração do serviço do carro, configuração para selecionar o versão da lista de prioridade de contexto de ajuste de volume. A versão 1 inclui todos os contextos de áudio, nesta ordem:
A versão 2 é limitada aos contextos a seguir, nessa ordem. A versão padrão é
|
|
audioPersistMasterMuteState |
Definido no arquivo de configuração do serviço do carro, configuração para persistir global
sem som. Quando true (o valor padrão), o Android restaura o
estado mudo global na inicialização. Quando audioUseCarVolumeGroupMuting for
true , isso não afeta a persistência de mudanças de silenciamento como silenciamento
as mudanças são baseadas em grupos de volumes individuais. O valor padrão é definido como
true e precisa ser substituída quando o silenciamento do mestre não puder ser
persistidos em um dispositivo. |
|
audioVolumeKeyEventTimeoutMs |
Definido no arquivo de configuração do serviço do carro. Configuração para indicar o tempo limite em milissegundos enquanto um grupo de volumes de carro é considerado ativo por o controle de volume muda durante eventos das teclas de volume. A configuração é usada da seguinte forma:
O valor padrão é |
|
audioUseCarVolumeGroupEvent |
Definido no arquivo de configuração do serviço do carro, configuração para ativar o callback
de eventos para grupos de volumes. Quando true , os clientes recebem uma chamada de retorno
até ICarVolumeGroupEvent para eventos que afetam o volume
grupos. Quando esse recurso estiver ativado:
O valor padrão é |
|
config_useFixedVolume
| Definido em frameworks/base/core/res/res/values/config.xml .
Precisa ser definido como true para permitir que o serviço de áudio do carro gerencie
controle de volume. Quando a sinalização config_useFixedVolume não for
for definido como false (o valor padrão), os apps poderão chamar a
AudioManager APIs de gerenciamento de volume e mudar o volume em
o tipo de transmissão no mixer de software. Isso pode ser indesejável por causa
possível efeito em outros aplicativos e o fato de que a atenuação do volume no
misturador de software pode resultar em menos bits significativos disponíveis nos
quando recebidos no amplificador de hardware. Novos dispositivos que não
foram configuradas e definidas como true receber alterações de volume
usando as APIs AudioManager de volume e silenciamento.
|
|
config_handleVolumeKeysInWindowManager |
Definido em frameworks/base/core/res/res/values/config.xml , precisa
ser definido como true para permitir a interceptação do serviço de áudio do carro
de volume. Se definido como o volume false (o valor padrão),
eventos principais podem ser encaminhados para o aplicativo em primeiro plano e levar a resultados
resultados do gerenciamento de eventos das teclas de volume fora do serviço de áudio do carro. |
Configurações do serviço de áudio do carro
Antes do Android 13, as configurações de serviço do carro eram substituídas
com uma sobreposição de configuração do produto (para saber mais, consulte
Como personalizar o build com sobreposições de recursos)
para o arquivo packages/services/Car/service/res/values/config.xml
.
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
O local do arquivo de configuração de <path_to_overlay>
para o arquivo
local deve incluir packages/services/Car/service/res/values/
.
RROs de manutenção veicular
Desde o Android 13, o AAOS oferece suporte
Sobreposições de recursos do ambiente de execução. Use uma RRO para mudar
da configuração de áudio do carro. Por exemplo, consulte as RROs do
referência ao cuttlefish
automotivo em
device/google/cuttlefish/shared/auto/rro_overlay/
. A
A configuração audioUseDynamicRouting
foi substituída em
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
.
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
O mapa de sobreposição de recursos está contido
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml
:
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
O manifesto de sobreposição de recursos definido
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
contém o targetPackage
definido como com.android.car.updatable
.
Consulte estes recursos para mais informações:
- Sobreposições de recursos do ambiente de execução
- Solução de problemas relacionados a sobreposições de recursos no ambiente de execução
API ativada por recurso
O método retornará true
se o recurso estiver ativado no dispositivo. Caso contrário,
false
. Na API CarAudioManager#isAudioFeatureEnabled
, o parâmetro
deve ser um dos seguintes:
AUDIO_FEATURE_DYNAMIC_ROUTING
AUDIO_FEATURE_VOLUME_GROUP_MUTING
AUDIO_FEATURE_OEM_AUDIO_SERVICE
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
AUDIO_FEATURE_AUDIO_MIRRORING