Android Automotive OS (AAOS) verwendet Flags und Konfigurationen, um verschiedene Funktionen zu ermöglichen, angefangen beim dynamischen Routing bis hin zu allgemeineren Feature-Flags, wie z. B. der Lautstärkeregelung durch den Autoservice. Aktuelle AAOS-Konfigurationsflags für die Audioverwaltung werden hier beschrieben.
Flagge | Zweck | |
---|---|---|
audioUseDynamicRouting | In der Autoservice-Konfigurationsdatei definiert, um AAOS-Routing zu aktivieren . Die Konfiguration muss auf true gesetzt sein. Bei false werden Routing und ein Großteil von CarAudioService deaktiviert und das Betriebssystem greift auf das Standardverhalten zurück, das unter „Konfigurieren von Audiorichtlinien“ beschrieben wird. | |
audioUseCarVolumeGroupMuting | Definiert in der Konfigurationsdatei des Autoservices, um die Stummschaltung einzelner Lautstärkegruppen zu ermöglichen. Bei der Einstellung false (Standardwert) ist die Stummschaltung einzelner Lautstärkegruppen deaktiviert. Stattdessen wird durch Stummschalten die Master-Stummschaltung umgeschaltet. Bei Einstellung auf true ist die Stummschaltung der Auto-Lautstärkegruppe aktiviert und jede einzelne Lautstärkegruppe kann separat stummgeschaltet werden. Wenn true , muss die Stummschaltung der Lautstärkegruppe am Audio Control HAL implementiert werden. | |
audioUseHalDuckingSignals | Definiert in der Konfigurationsdatei des Autoservice, um die IAudioControl#onDevicesToDuckChange -API zu aktivieren, um HAL zu informieren, wann sich ducken soll. Bei true (Standardwert) empfängt die API Signale, die angeben, welche Ausgabegeräte ausgeblendet werden sollen und welche Verwendungen den Fokus behalten. Bei false wird die API nicht aufgerufen. Die API wird nicht aufgerufen, es sei denn, die Audiosteuerungs-HAL implementiert Ducking. | |
config_oemCarService | In der Konfigurationsdatei des Autoservices definiert, ist dies der Komponentenname für den OEM-Anpassungsservice. OEMs können sich für die Implementierung dieses Dienstes entscheiden, um Autoservice-Aktionen für verschiedene Richtlinien anzupassen. Wenn sich OEMs für die Implementierung dieser Komponente entscheiden, müssen sie einen Dienst implementieren, um den von car-lib bereitgestellten OemCarService zu erweitern, und dann die erforderlichen Komponentendienste implementieren. Speziell für Car-Audio-Dienste können OEMs jeden der Audio-Subdienste implementieren, um die Audio-Aktion zu verwalten. Einzelheiten finden Sie unter Car Audio Plugin Service . Wenn der Komponentenname ungültig ist, stellt CarService keine Verbindung zu einem OEM-Dienst her. Der Komponentenname darf kein Paket eines Drittanbieters sein. Es muss vorinstalliert sein. | audioVolumeAdjustmentContextsVersion | Definiert in der Konfigurationsdatei des Autoservice, Konfiguration zur Auswahl der Version der Kontextprioritätsliste für die Lautstärkeanpassung. Version 1 enthält alle Audiokontexte in dieser Reihenfolge:
Version 2 ist auf die folgenden Kontexte in dieser Reihenfolge beschränkt. Die Standardversion ist
|
audioPersistMasterMuteState | Definiert in der Konfigurationsdatei des Autoservice, Konfiguration zum Beibehalten des globalen Stummschaltungsstatus. Bei true (Standardwert) stellt Android beim Booten den globalen Stummschaltungsstatus wieder her. Wenn audioUseCarVolumeGroupMuting true ist, hat dies keine Auswirkungen auf die Beibehaltung von Stummschaltungsänderungen, da Stummschaltungsänderungen auf einzelnen Lautstärkegruppen basieren. Der Standardwert ist auf true gesetzt und muss überschrieben werden, wenn die Master-Stummschaltung für ein Gerät nicht beibehalten werden soll. | |
audioVolumeKeyEventTimeoutMs | Definiert in der Car-Service-Konfigurationsdatei, Konfiguration zur Anzeige des Timeouts in Millisekunden, während eine Car-Lautstärkegruppe für Änderungen der Lautstärkeregelung bei Lautstärketastenereignissen als aktiv gilt. Die Konfiguration wird wie folgt verwendet:
Der Standardwert beträgt | |
audioUseCarVolumeGroupEvent | Definiert in der Car-Service-Konfigurationsdatei, Konfiguration zum Aktivieren von Rückrufereignissen für Volumengruppen. Bei true erhalten Clients über ICarVolumeGroupEvent einen Rückruf zu Ereignissen, die sich auf Volume-Gruppen auswirken. Wenn aktiviert:
Der Standardwert ist | |
config_useFixedVolume | Definiert in frameworks/base/core/res/res/values/config.xml . Muss auf true gesetzt sein, damit der Car-Audio-Dienst die Lautstärkeregelung verwalten kann. Wenn das Flag config_useFixedVolume nicht oder auf false (Standardwert) gesetzt ist, können Apps die AudioManager Lautstärkeverwaltungs-APIs aufrufen und die Lautstärke je nach Stream-Typ im Software-Mixer ändern. Dies kann aufgrund der möglichen Auswirkungen auf andere Apps und der Tatsache, dass die Lautstärkedämpfung im Software-Mixer dazu führen kann, dass beim Empfang am Hardware-Verstärker weniger signifikante Bits im Signal verfügbar sind, möglicherweise unerwünscht sein. Neue Geräte, die nicht konfiguriert wurden und auf true eingestellt sind, empfangen Lautstärkeänderungen über die AudioManager APIs für Lautstärke und Stummschaltung. | |
config_handleVolumeKeysInWindowManager | Definiert in frameworks/base/core/res/res/values/config.xml und muss auf true gesetzt werden, damit der Car-Audio-Dienst Lautstärketastenereignisse abfangen kann. Bei Einstellung auf false (Standardwert) können Lautstärketastenereignisse an die Vordergrund-App weitergeleitet werden und zu nachteiligen Ergebnissen bei der Lautstärketastenereignisverwaltung außerhalb des Car-Audio-Dienstes führen. |
Konfigurationen für Car-Audio-Dienste
Vor Android 13 wurden Autoservice-Konfigurationen mit einem Produktkonfigurations-Overlay (weitere Informationen finden Sie unter Anpassen des Builds mit Ressourcen-Overlays ) für die packages/services/Car/service/res/values/config.xml
überschrieben.
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
Der Speicherort der Konfigurationsdatei von <path_to_overlay>
zum tatsächlichen Speicherort sollte packages/services/Car/service/res/values/
umfassen.
Autoservice-RROs
Seit Android 13 unterstützt AAOS Runtime-Ressourcen-Overlays . Verwenden Sie ein RRO, um den Wert der Car-Audio-Konfiguration zu ändern. Sehen Sie sich beispielsweise die RROs für die Automobil- cuttlefish
in device/google/cuttlefish/shared/auto/rro_overlay/
. Die audioUseDynamicRouting
-Konfiguration wird in device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
überschrieben.
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
Die Ressourcen-Overlay-Karte ist in device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml
enthalten:
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
Das in device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
definierte Ressourcen-Overlay-Manifest enthält das targetPackage
, das als com.android.car.updatable
festgelegt ist.
Weitere Informationen finden Sie in diesen Ressourcen:
Funktionsfähige API
Die Methode gibt true
zurück, wenn die Funktion auf dem Gerät aktiviert ist, andernfalls false
. In der CarAudioManager#isAudioFeatureEnabled
API muss der übergebene Parameter einer der folgenden sein:
-
AUDIO_FEATURE_DYNAMIC_ROUTING
-
AUDIO_FEATURE_VOLUME_GROUP_MUTING
-
AUDIO_FEATURE_OEM_AUDIO_SERVICE
-
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
-
AUDIO_FEATURE_AUDIO_MIRRORING