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 manajemen audio dijelaskan di sini.
Flag | Tujuan | |
---|---|---|
audioUseDynamicRouting |
Ditentukan dalam file konfigurasi layanan mobil untuk
Mengaktifkan perutean AAOS.
Konfigurasi harus ditetapkan ke true . Jika false ,
pemilihan rute, dan sebagian besar CarAudioService dinonaktifkan, OS
akan kembali ke perilaku default yang dijelaskan dalam
Mengonfigurasi kebijakan audio.
|
|
audioUseCarVolumeGroupMuting
| Ditentukan dalam file konfigurasi layanan mobil untuk mengaktifkan bisukan setiap
grup volume. Jika disetel ke false (nilai default), bisukan
setiap grup volume akan dinonaktifkan. Sebagai gantinya, membisukan akan mengaktifkan bisukan master.
Jika disetel ke true , bisukan grup volume mobil akan diaktifkan dan setiap
grup volume dapat dibisukan secara terpisah. Jika true ,
pemutusan suara grup volume harus diterapkan di
Audio Control HAL.
| |
audioUseHalDuckingSignals |
Ditentukan dalam file konfigurasi layanan mobil untuk mengaktifkan
IAudioControl#onDevicesToDuckChange API guna memberi tahu HAL kapan harus
menunduk. Jika true (nilai default), API akan menerima sinyal yang menunjukkan
perangkat output yang akan disembunyikan dan penggunaan yang mempertahankan fokus. Jika false ,
API tidak dipanggil. API tidak dipanggil kecuali jika
Audio Control HAL
menerapkan penurunan volume.
|
|
config_oemCarService |
Didefinisikan dalam file konfigurasi layanan mobil, ini adalah nama komponen untuk
layanan penyesuaian OEM. OEM dapat memilih untuk menerapkan layanan ini guna
menyesuaikan tindakan servis 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 sub-layanan audio apa pun untuk mengelola tindakan audio. Untuk mengetahui detailnya, lihat Layanan Plugin Audio Mobil.
Jika nama komponen tidak valid, CarService tidak akan terhubung
ke layanan OEM apa pun. Nama komponen tidak boleh berupa paket pihak ketiga. Aplikasi ini
harus diprainstal. |
|
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 dibatasi untuk 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 bisukan yang dipertahankan karena perubahan
bisukan didasarkan pada setiap grup volume. Nilai default ditetapkan ke
true dan harus ditimpa jika bisukan master tidak boleh
dipertahankan untuk perangkat. |
|
audioVolumeKeyEventTimeoutMs |
Didefinisikan 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:
Nilai defaultnya 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 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
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 disetel ke true menerima perubahan volume
melalui API volume dan bisukan AudioManager .
|
|
config_handleVolumeKeysInWindowManager |
Ditetapkan di frameworks/base/core/res/res/values/config.xml , harus
disetel ke true untuk memungkinkan layanan audio mobil menahan
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. |
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
yang sebenarnya harus menyertakan 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 terdapat 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 di
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
berisi targetPackage
yang ditetapkan sebagai com.android.car.updatable
.
Lihat referensi ini untuk mengetahui informasi selengkapnya:
API yang mengaktifkan fitur
Metode ini menampilkan true
jika fitur diaktifkan di perangkat, jika tidak,
false
. 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