Flag AAOS konfigurasi audio

Android Automotive OS (AAOS) menggunakan tanda dan konfigurasi untuk mengaktifkan berbagai fitur, mulai dari perutean dinamis hingga tanda fitur yang lebih umum, seperti kontrol volume dari layanan mobil. Tanda konfigurasi AAOS saat ini untuk pengelolaan audio dijelaskan di sini.

Flag Tujuan
audioUseDynamicRouting Ditentukan dalam file konfigurasi layanan mobil untuk Enable AAOS routing. Konfigurasi harus disetel ke true. Jika false, pemilihan rute dan sebagian besar CarAudioService dinonaktifkan dan OS melakukan penggantian ke perilaku default yang dijelaskan dalam Mengonfigurasi kebijakan audio.
useCoreAudioRouting Ditentukan dalam file konfigurasi layanan mobil untuk mengaktifkan pengelolaan perutean audio inti AAOS. Jika nilai disetel ke true, layanan audio mobil akan menggunakan konfigurasi yang disiapkan dengan mesin kebijakan audio yang dapat dikonfigurasi. Jika nilai disetel ke false, pengelolaan perutean akan kembali menggunakan definisi campuran kebijakan audio dinamis layanan audio mobil seperti yang dikonfigurasi menggunakan audioUseDynamicRouting.
useCoreAudioVolume Ditentukan dalam file konfigurasi layanan mobil untuk mengaktifkan pengelolaan volume audio inti AAOS. Jika nilai ditetapkan ke true, layanan audio mobil akan menggunakan penyiapan definisi grup volume dengan mesin kebijakan audio yang dapat dikonfigurasi. Jika nilai disetel ke false, pengelolaan volume akan kembali menggunakan definisi grup volume default layanan audio mobil seperti yang dikonfigurasi menggunakan audioUseDynamicRouting.
audioUseCarVolumeGroupMuting Ditentukan dalam file konfigurasi layanan mobil untuk mengaktifkan penonaktifan masing-masing grup volume. Jika disetel ke false (nilai default), pembisuan grup volume individual akan dinonaktifkan. Sebaliknya, membisukan akan mengaktifkan/menonaktifkan bisu utama. Jika disetel ke true, peredaman grup volume mobil diaktifkan dan setiap grup volume dapat diredam secara terpisah. Saat true, pembisuan grup volume harus diterapkan di HAL Kontrol Audio.
audioUseHalDuckingSignals Ditentukan dalam file konfigurasi layanan mobil untuk mengaktifkan IAudioControl#onDevicesToDuckChange API untuk memberi tahu HAL kapan harus meredam. Jika true (nilai default), API akan menerima sinyal yang menunjukkan perangkat output mana yang harus diredam dan penggunaan mana yang harus difokuskan. Saat false, API tidak dipanggil. API tidak dipanggil kecuali jika Audio Control HAL menerapkan peredaman.
config_oemCarService Ditentukan dalam file konfigurasi layanan mobil, ini adalah nama komponen untuk layanan penyesuaian OEM. OEM dapat memilih untuk menerapkan layanan ini guna menyesuaikan tindakan layanan mobil untuk berbagai kebijakan. Jika OEM memilih untuk menerapkan komponen ini, mereka harus menerapkan layanan untuk memperluas OemCarService yang diekspos oleh car-lib, lalu menerapkan layanan komponen yang diperlukan. Khusus untuk layanan audio mobil, OEM dapat menerapkan salah satu sub-layanan audio untuk mengelola tindakan audio. Untuk detailnya, lihat Layanan Plugin Audio Mobil. Jika nama komponen tidak valid, CarService tidak akan terhubung ke layanan OEM mana pun. Nama komponen tidak boleh berupa paket pihak ketiga. Aplikasi harus sudah diinstal sebelumnya.
audioVolumeAdjustmentContextsVersion

Ditentukan dalam file konfigurasi layanan mobil, konfigurasi untuk memilih versi daftar prioritas konteks penyesuaian volume.

Versi 1 mencakup semua konteks audio, dalam urutan ini:

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

Versi 2 terbatas pada konteks berikut, dalam urutan ini.

Versi defaultnya adalah 1.

  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
audioPersistMasterMuteState Ditentukan dalam file konfigurasi layanan mobil, konfigurasi untuk mempertahankan status senyap global. Jika true (nilai default), Android akan memulihkan status senyap global saat booting. Jika audioUseCarVolumeGroupMuting adalah true, hal ini tidak akan memengaruhi perubahan senyapkan yang tetap ada karena perubahan senyapkan didasarkan pada grup volume individual. Nilai default ditetapkan ke true dan harus ditimpa jika bisu utama tidak boleh dipertahankan untuk perangkat.
audioVolumeKeyEventTimeoutMs

Ditentukan dalam file konfigurasi layanan mobil, konfigurasi untuk menunjukkan waktu tunggu dalam milidetik saat grup volume mobil dianggap aktif untuk perubahan kontrol volume selama peristiwa tombol volume. Konfigurasi digunakan sebagai berikut:

  • Waktu tunggu digunakan untuk menentukan apakah pemutaran (volume audio yang terkait dengan penggunaan audio pemutaran) masih dapat dipertimbangkan untuk pemilihan volume otomatis setelah berhenti diputar.
  • Waktu tunggu juga digunakan sebagai durasi jeda yang diperlukan antara penyesuaian volume otomatis untuk mengubah apa yang disesuaikan pengguna.

Nilai defaultnya adalah 3000 milidetik dan harus disesuaikan oleh OEM untuk menyesuaikan pengalaman pengguna.

audioUseCarVolumeGroupEvent Ditentukan dalam file konfigurasi layanan mobil, konfigurasi untuk mengaktifkan peristiwa callback ke grup volume. Saat true, klien menerima callback melalui ICarVolumeGroupEvent ke peristiwa yang memengaruhi grup volume. Jika diaktifkan:
  • Sebaiknya vendor juga mendukung IAudioControl#setModuleChangeCallback dan IAudioControl#registerGainCallback untuk peristiwa dan perubahan pada hardware audio.
  • Jika CarVolumeCallback dan CarVolumeGroupEventCallback didaftarkan oleh aplikasi yang sama, callback indeks grup volume dan mute grup volume hanya akan melalui CarVolumeGroupEventCallback saja. Oleh karena itu, sebaiknya semua aplikasi bermigrasi ke antarmuka callback baru untuk memastikan performa yang konsisten.
  • Nilai default-nya adalah false. Sebaiknya Anda menetapkan ini ke true karena API untuk mendukung callback volume lama tidak digunakan lagi dan akan segera dihapus sepenuhnya.

config_useFixedVolume Ditentukan dalam frameworks/base/core/res/res/values/config.xml. Harus disetel ke true agar layanan audio mobil dapat mengelola kontrol volume. Jika tanda config_useFixedVolume tidak ditetapkan, atau ditetapkan ke false (nilai default), aplikasi dapat memanggil API pengelolaan volume AudioManager dan mengubah volume menurut jenis streaming di mixer software. Hal ini mungkin tidak diinginkan karena kemungkinan efek pada aplikasi lain dan fakta bahwa atenuasi volume di mixer software dapat menghasilkan lebih sedikit bit signifikan yang tersedia dalam sinyal saat diterima di amplifier hardware. Perangkat baru yang belum dikonfigurasi dan yang disetel ke true menerima perubahan volume melalui API volume dan mute AudioManager.
config_handleVolumeKeysInWindowManager Ditentukan dalam frameworks/base/core/res/res/values/config.xml, harus ditetapkan ke true untuk mengizinkan layanan audio mobil mencegat peristiwa tombol volume. Jika disetel ke false (nilai default), peristiwa tombol volume dapat diteruskan ke aplikasi latar depan dan dapat menyebabkan hasil yang merugikan dari pengelolaan peristiwa tombol volume di luar layanan audio mobil.
audioUseMinMaxActivationVolume Ditentukan dalam file konfigurasi layanan mobil untuk mengaktifkan volume aktivasi minimum dan maksimum. Saat true, indeks perolehan volume dapat disesuaikan karena pengelolaan volume aktivasi minimum dan maksimum. Jika false (nilai default), volume aktivasi minimum dan maksimum tidak berlaku.
audioUseFadeManagerConfiguration Ditentukan dalam file konfigurasi layanan mobil untuk mengaktifkan perilaku kehilangan fokus audio yang diterapkan sistem. Saat true, framework audio mobil mem-parsing definisi konfigurasi fade audio mobil dan menerapkan FadeManagerConfiguration masing-masing saat mengirim kehilangan fokus audio. Jika false (nilai default), sistem tidak menerapkan perilaku fade saat aplikasi kehilangan fokus audio.

Konfigurasi layanan audio mobil

Sebelum Android 13, konfigurasi layanan mobil ditimpa dengan overlay konfigurasi produk (untuk mempelajari lebih lanjut, lihat Menyesuaikan build dengan overlay resource) untuk file packages/services/Car/service/res/values/config.xml.

PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>

Lokasi file konfigurasi dari <path_to_overlay> ke lokasi sebenarnya harus mencakup packages/services/Car/service/res/values/.

RRO servis mobil

Sejak Android 13, AAOS mendukung Overlay resource runtime. Gunakan RRO untuk mengubah nilai konfigurasi audio mobil. Misalnya, lihat RRO untuk referensi cuttlefish otomotif di device/google/cuttlefish/shared/auto/rro_overlay/. Konfigurasi audioUseDynamicRouting diganti di device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml.

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

Peta overlay resource dimuat dalam device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml:

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

Manifes overlay resource yang ditentukan dalam device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml berisi targetPackage yang ditetapkan sebagai com.android.car.updatable.

Lihat referensi berikut untuk mengetahui informasi selengkapnya:

API yang mendukung fitur

Metode ini menampilkan true jika fitur diaktifkan di perangkat, atau false jika tidak. Di CarAudioManager#isAudioFeatureEnabled API, parameter yang diteruskan harus salah satu dari:

  • AUDIO_FEATURE_DYNAMIC_ROUTING
  • AUDIO_FEATURE_VOLUME_GROUP_MUTING
  • AUDIO_FEATURE_OEM_AUDIO_SERVICE
  • AUDIO_FEATURE_VOLUME_GROUP_EVENTS
  • AUDIO_FEATURE_AUDIO_MIRRORING