Android Automotive OS (AAOS) menggunakan flag dan konfigurasi untuk mengaktifkan berbagai fitur, mulai dari pemilihan rute dinamis hingga flag fitur yang lebih umum, seperti kontrol volume dari layanan mobil. Flag konfigurasi AAOS saat ini untuk pengelolaan audio dijelaskan di sini.
| Flag | Tujuan |
|---|---|
audioUseDynamicRouting |
Ditentukan dalam file konfigurasi layanan mobil untuk
Mengaktifkan pemilihan rute AAOS.
Konfigurasi harus ditetapkan ke true. Jika false,
pemilihan rute dan sebagian besar CarAudioService dinonaktifkan dan OS
kembali ke perilaku default yang dijelaskan dalam
Mengonfigurasi kebijakan audio.
|
useCoreAudioRouting |
Ditentukan dalam file konfigurasi layanan mobil untuk
mengaktifkan pengelolaan pemilihan rute audio inti AAOS.
Jika nilainya ditetapkan ke true, layanan audio mobil akan menggunakan
definisi konfigurasi yang disiapkan dengan
mesin kebijakan audio yang dapat dikonfigurasi.
Jika nilainya ditetapkan ke false, pengelolaan pemilihan rute 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 nilainya ditetapkan ke true, layanan audio mobil akan menggunakan
definisi grup volume yang disiapkan dengan
mesin kebijakan audio yang dapat dikonfigurasi.
Jika nilainya ditetapkan 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 pembisuan grup volume individual
volume. Jika ditetapkan ke false (nilai default), pembisuan grup volume individual akan dinonaktifkan. Sebagai gantinya, pembisuan akan mengaktifkan/menonaktifkan pembisuan utama.
Jika ditetapkan ke true, pembisuan grup volume mobil akan diaktifkan dan setiap
grup volume individual dapat dibisukan secara terpisah. Jika true,
pembisuan grup volume harus diterapkan di
HAL Kontrol Audio.
|
audioUseHalDuckingSignals |
Ditentukan dalam file konfigurasi layanan mobil untuk mengaktifkan
IAudioControl#onDevicesToDuckChange API guna memberi tahu HAL kapan harus
meredam. Jika true (nilai default), API akan menerima sinyal yang menunjukkan perangkat output mana yang akan direduksi dan penggunaan mana yang memiliki fokus. Jika false,
API tidak akan dipanggil. API tidak akan dipanggil kecuali
HAL Kontrol Audio
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 kebijakan yang berbeda. 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 mengetahui 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. Nama komponen harus 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:
Versi 2 terbatas pada konteks berikut, dalam urutan ini. Versi default-nya adalah
|
audioPersistMasterMuteState |
Ditentukan dalam file konfigurasi layanan mobil, konfigurasi untuk mempertahankan status bisu global. Jika true (nilai default), Android akan memulihkan status bisu global saat booting. Jika audioUseCarVolumeGroupMuting adalah
true, hal ini tidak akan memengaruhi perubahan bisu yang dipertahankan karena perubahan bisu
didasarkan pada grup volume individual. Nilai default ditetapkan ke
true dan harus ditimpa jika pembisuan 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 ini digunakan sebagai berikut:
Nilai default-nya adalah |
audioUseCarVolumeGroupEvent |
Ditentukan dalam file konfigurasi layanan mobil, konfigurasi untuk mengaktifkan peristiwa callback
ke grup volume. Jika true, klien akan menerima callback
melalui ICarVolumeGroupEvent ke peristiwa yang memengaruhi grup volume. Jika diaktifkan:
Nilai default-nya adalah |
config_useFixedVolume |
Ditentukan dalam frameworks/base/core/res/res/values/config.xml.
Harus ditetapkan ke true agar layanan audio mobil dapat mengelola
kontrol volume. Jika flag config_useFixedVolume tidak
ditetapkan, atau ditetapkan ke false (nilai default), aplikasi dapat memanggil
AudioManager API pengelolaan volume dan mengubah volume berdasarkan
jenis aliran di mixer software. Hal ini mungkin tidak diinginkan karena potensi 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 ditetapkan ke true menerima perubahan volume
melalui AudioManager API volume dan bisu.
|
config_handleVolumeKeysInWindowManager |
Ditentukan dalam frameworks/base/core/res/res/values/config.xml, harus
ditetapkan ke true agar layanan audio mobil dapat mencegat
peristiwa tombol volume. Jika ditetapkan ke false (nilai default), peristiwa tombol volume
dapat diteruskan ke aplikasi latar depan dan dapat menyebabkan hasil yang tidak diinginkan
dari pengelolaan peristiwa tombol volume di luar layanan audio mobil. |
audioUseMinMaxActivationVolume |
Ditentukan dalam file konfigurasi layanan mobil untuk mengaktifkan
volume aktivasi minimum dan maksimum. Jika
true, indeks perolehan volume dapat disesuaikan karena
pengelolaan volume aktivasi minimum dan maksimum. Jika
false (nilai default), volume aktivasi minimum dan maksimum tidak akan berlaku.
|
audioUseFadeManagerConfiguration |
Ditentukan dalam file konfigurasi layanan mobil untuk mengaktifkan
perilaku kehilangan fokus audio yang diterapkan sistem. Jika true,
framework audio mobil akan mengurai definisi konfigurasi fade audio mobil dan
menerapkan FadeManagerConfiguration masing-masing saat mengirim
kehilangan fokus audio. Jika false (nilai default), sistem tidak akan
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 menyertakan packages/services/Car/service/res/values/.
RRO layanan mobil
Sejak Android 13, AAOS mendukung
overlay resource Runtime. Gunakan RRO untuk mengubah nilai konfigurasi audio mobil. Misalnya, lihat RRO untuk referensi
otomotif cuttlefish 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 terdapat di 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 di 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 mengaktifkan fitur
Metode ini menampilkan true jika fitur diaktifkan di perangkat, atau false. Di CarAudioManager#isAudioFeatureEnabled API, parameter yang diteruskan harus salah satu dari:
AUDIO_FEATURE_DYNAMIC_ROUTINGAUDIO_FEATURE_VOLUME_GROUP_MUTINGAUDIO_FEATURE_OEM_AUDIO_SERVICEAUDIO_FEATURE_VOLUME_GROUP_EVENTSAUDIO_FEATURE_AUDIO_MIRRORING