AAOS-Flags für die Audiokonfiguration

Android Automotive OS (AAOS) nutzt Flags und Konfigurationen, um verschiedene Funktionen, angefangen beim dynamischen Routing bis hin zu allgemeineren Funktions-Flags wie Lautstärkeregelung über den Autodienst. Aktuelle AAOS-Konfigurations-Flags für Audio werden hier beschrieben.

Melden Zweck
audioUseDynamicRouting Wird in der Konfigurationsdatei des Fahrzeugdienstes so definiert, AAOS-Routing aktivieren Die Konfiguration muss auf true festgelegt sein. Wenn false, und ein Großteil von CarAudioService deaktiviert ist und das Betriebssystem auf das Standardverhalten zurück, das im Abschnitt Audiorichtlinien konfigurieren
audioUseCarVolumeGroupMuting In der Konfigurationsdatei des Fahrzeugdienstes definiert, um das Stummschalten einzelner Nutzer zu aktivieren Volume-Gruppen. Ist dieser Wert auf false (Standardwert) gesetzt, wird das Stummschalten von Einzelne Volume-Gruppen sind deaktiviert. Stattdessen wird durch das Stummschalten die Master-Stummschaltung ein- oder ausgeschaltet. Wenn die Richtlinie auf „true“ gesetzt ist, ist die Stummschaltung der Lautstärkegruppe des Autos aktiviert und können einzelne Lautstärkegruppen separat stummgeschaltet werden. Wenn true, muss die Stummschaltung von Volume-Gruppen Audio-Kontroll-HAL.
audioUseHalDuckingSignals Wird in der Konfigurationsdatei des Fahrzeugdienstes definiert, um die IAudioControl#onDevicesToDuckChange API, um HAL zu informieren, wann Ente. Bei true (Standardwert) empfängt die API Signale, die angeben, Ausgabegeräte zu erkennen und welche Nutzungen wichtig sind. Wenn false, wird die API nicht aufgerufen. Die API wird nur aufgerufen, wenn der Hal für Audiosteuerung das Ducking implementiert.
config_oemCarService Dies ist der in der Konfigurationsdatei des Autodiensts definierte Komponentenname für den OEM-Anpassungsdienst. OEMs können diesen Service auf Wunsch Aktionen für Autowerkstätten für verschiedene Richtlinien anpassen. Wenn OEMs sich für Komponente implementieren, muss ein Dienst implementiert werden, OemCarService von car-lib bereitgestellt und dann implementiert die erforderlichen Komponentendienste. Speziell für Auto-Audiodienste kann jeden der Audio-Unterdienste implementieren, um Audioaktionen zu verwalten. Für finden Sie unter Auto-Audio-Plug-in-Dienst. Wenn der Komponentenname ungültig ist, konnte CarService keine Verbindung herstellen. an einen OEM-Service. Der Komponentenname darf kein Drittanbieterpaket sein. Es muss vorinstalliert sein.
audioVolumeAdjustmentContextsVersion

In der Konfigurationsdatei des Fahrzeugdienstes definiert, Konfiguration zur Auswahl der Version der Prioritätsliste des Kontexts zur Volumenanpassung.

Version 1 enthält alle Audiokontexte in der folgenden Reihenfolge:

  • NAVIGATION
  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
  • CALL_RING
  • SYSTEM_SOUND
  • SAFETY
  • ALARM
  • NOTIFICATION
  • VEHICLE_STATUSEMERGENCY

Version 2 ist auf die folgenden Kontexte in dieser Reihenfolge beschränkt.

Die Standardversion ist 1.

  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
audioPersistMasterMuteState In der Konfigurationsdatei für den Autodienst definiert, Konfiguration für Persistenz global stummgeschaltet. Wenn true (Standardwert) Android die globale Stummschaltung beim Booten. Wenn audioUseCarVolumeGroupMuting gleich true, das hat keine Auswirkungen darauf, dass Ausblendungsänderungen als Ausblendung beibehalten werden basieren auf den einzelnen Volume-Gruppen. Der Standardwert ist true und muss überschrieben werden, wenn die Master-Stummschaltung nicht dauerhaft für ein Gerät gespeichert.
audioVolumeKeyEventTimeoutMs

Wird in der Konfigurationsdatei des Fahrzeugdienstes definiert; eine Konfiguration zur Angabe der eine Zeitüberschreitung in Millisekunden, während eine Fahrzeuglautstärkegruppe als aktiv gilt ändert sich die Lautstärkeregelung bei wichtigen Ereignissen. Die Konfiguration wird verwendet wie folgt:

  • Das Zeitlimit wird verwendet, um festzustellen, ob eine Wiedergabe (Audiolautstärke mit der Audionutzung der Wiedergabe) können trotzdem für automatische nach dem Beenden der Wiedergabe die Lautstärke ändern.
  • Das Zeitlimit wird auch als Pausendauer verwendet, die zwischen automatischen um die Einstellungen des Nutzers zu ändern.

Der Standardwert ist 3000 Millisekunden und sollte und von OEMs angepasst werden, um die Nutzererfahrung zu personalisieren.

audioUseCarVolumeGroupEvent In der Konfigurationsdatei des Autodienstes definiert, Konfiguration zum Aktivieren des Callbacks zu Volumengruppen hinzufügen. Wenn true, erhalten Clients einen Rückruf bis ICarVolumeGroupEvent bis zu Ereignissen, die sich auf das Volumen auswirken Gruppen. Wenn diese Option aktiviert ist, gilt Folgendes:

  • Wir empfehlen dringend, IAudioControl#setModuleChangeCallback und IAudioControl#registerGainCallback für Ereignisse und Änderungen an Audiohardware.
  • Wenn sowohl CarVolumeCallback als auch CarVolumeGroupEventCallback werden vom selben werden die Callbacks für die Stummschaltung der Lautstärkegruppe nur bis CarVolumeGroupEventCallback. Daher empfehlen wir dringend, alle Apps auf das neue Callback-Oberfläche für eine konsistente Leistung.
  • Der Standardwert ist false. Wir empfehlen, diese Einstellung an true, da die APIs zur Unterstützung des Legacy-Volumens Callbacks wurden eingestellt und werden bald vollständig entfernt.

config_useFixedVolume Definiert in frameworks/base/core/res/res/values/config.xml. Muss auf true festgelegt sein, damit der Audiodienst des Autos verwalten kann Lautstärkeregler. Wenn das Flag config_useFixedVolume nicht false (Standardwert) festgelegt ist, können Apps die AudioManager APIs zur Volume-Verwaltung und ändern Sie die Lautstärke um Streamtyp im Softwaremixer ein. Dies kann aufgrund der möglichen Auswirkungen auf andere Apps und die Tatsache, dass die Lautstärkeverringerung in der kann dies dazu führen, dass weniger signifikante Bits im Signal erhalten, wenn es am Hardwareverstärker empfangen wird. Neue Geräte, die nicht festgelegt ist und auf true festgelegt ist, werden Volumenänderungen erhalten. über die AudioManager APIs zur Lautstärkeregelung und Stummschaltung.
config_handleVolumeKeysInWindowManager Definiert in frameworks/base/core/res/res/values/config.xml, muss Du musst auf true gesetzt werden, damit der Audiodienst des Autos abgefangen werden kann Volumen-Schlüsselereignisse. Wenn die Lautstärke auf false (Standardwert) eingestellt ist, Schlüsselereignisse können an die App im Vordergrund weitergeleitet werden und zu unerwünschten auf Lautstärke-Schlüsselereignissen außerhalb des Audiodienstes des Autos.

Konfigurationen für Audiodienste im Auto

Vor Android 13 wurden Konfigurationen für Autodienste überschrieben mit einem Produktkonfigurations-Overlay (weitere Informationen finden Sie unter Build mit Ressourcen-Overlays anpassen) für die Datei packages/services/Car/service/res/values/config.xml.

PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>

Der Speicherort der Konfigurationsdatei zwischen <path_to_overlay> und dem tatsächlichen Standort sollte packages/services/Car/service/res/values/ enthalten.

Autoservice-RROs

Seit Android 13 unterstützt AAOS Overlays von Laufzeitressourcen: Verwenden Sie eine RRO, um die der Audiokonfiguration des Autos. Sehen Sie sich zum Beispiel die RROs für die cuttlefish in der Automobilbranche device/google/cuttlefish/shared/auto/rro_overlay/. Die Konfiguration „audioUseDynamicRouting“ wird überschrieben in device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml.

<resources>
    <bool name="audioUseDynamicRouting">true</bool>
...

Die Ressourcen-Overlay-Karte befindet sich device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml:

<overlay>
...
  <item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>

Das Ressourcen-Overlay-Manifest in device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml enthält das targetPackage, das als com.android.car.updatable festgelegt ist.

Weitere Informationen finden Sie hier:

Funktionsfähige API

Die Methode gibt true zurück, wenn die Funktion auf dem Gerät aktiviert ist. Andernfalls wird der Fehler zurückgegeben. false. In der CarAudioManager#isAudioFeatureEnabled API wird der Parameter übergebenen Wert muss einer der folgenden Werte sein:

  • AUDIO_FEATURE_DYNAMIC_ROUTING
  • AUDIO_FEATURE_VOLUME_GROUP_MUTING
  • AUDIO_FEATURE_OEM_AUDIO_SERVICE
  • AUDIO_FEATURE_VOLUME_GROUP_EVENTS
  • AUDIO_FEATURE_AUDIO_MIRRORING