Android Automotive OS (AAOS) menggunakan tanda dan konfigurasi untuk mengaktifkan berbagai mulai dari perutean dinamis ke tombol fitur yang lebih umum, seperti mengontrol volume dari servis mobil. Tanda konfigurasi AAOS saat ini untuk audio dijelaskan di sini.
Flag | Tujuan | |
---|---|---|
audioUseDynamicRouting |
Ditetapkan dalam file konfigurasi layanan mobil untuk
Mengaktifkan pemilihan rute AAOS.
Konfigurasi harus ditetapkan ke true . Saat false ,
dan sebagian besar dari CarAudioService , dinonaktifkan dan OS
kembali ke perilaku {i>
default<i} yang dijelaskan dalam
Mengonfigurasi kebijakan audio.
|
|
audioUseCarVolumeGroupMuting
| Ditentukan dalam file konfigurasi layanan mobil untuk mengaktifkan pembisuan individu
kelompok volume. Jika ditetapkan ke false (nilai default), pembisuan
kelompok volume individu dinonaktifkan. Sebagai gantinya, membisukan audio utama akan beralih ke mode bisukan utama.
Jika disetel ke true , pembisuan grup volume mobil akan diaktifkan dan setiap
kelompok volume tertentu dapat dibisukan secara terpisah. Saat true ,
pembisuan grup volume harus diterapkan pada
Audio Control HAL.
| |
audioUseHalDuckingSignals |
Didefinisikan dalam file konfigurasi layanan mobil untuk mengaktifkan
IAudioControl#onDevicesToDuckChange API untuk memberi tahu HAL kapan harus
bebek. Ketika true (nilai default), API menerima sinyal yang menunjukkan
perangkat {i>output<i} ke pengecilan dan
penggunaan apa yang memiliki fokus. Saat false ,
API tidak dipanggil. API tidak dipanggil kecuali jika
HAL Kontrol Audio
menerapkan pengecilan volume.
|
|
config_oemCarService |
Ditentukan dalam file konfigurasi layanan mobil, ini adalah nama komponen untuk
layanan penyesuaian OEM. OEM dapat memilih untuk menerapkan layanan ini ke
menyesuaikan tindakan layanan mobil untuk berbagai kebijakan. Jika OEM memilih untuk
mengimplementasikan komponen ini, mereka harus
mengimplementasikan layanan untuk memperluas
OemCarService diekspos oleh car-lib, lalu terapkan
layanan komponen yang diperlukan. Khusus untuk layanan audio mobil, OEM
dapat menerapkan sub-layanan audio apa pun untuk mengelola tindakan audio. Sebagai
detail, 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. Ini
harus diinstal lebih dulu. |
|
audioVolumeAdjustmentContextsVersion |
Didefinisikan dalam file konfigurasi layanan mobil, konfigurasi untuk memilih versi dari daftar prioritas konteks penyesuaian volume. Versi 1 mencakup semua konteks audio, dalam urutan ini:
Dalam urutan ini, versi 2 dibatasi untuk konteks berikut. Versi default-nya adalah
|
|
audioPersistMasterMuteState |
Ditentukan dalam file konfigurasi layanan mobil, konfigurasi untuk mempertahankan global
status bisu. Saat true (nilai default) Android akan memulihkan
status bisukan global saat booting. Jika audioUseCarVolumeGroupMuting adalah
true , hal ini tidak berdampak pada persistensi perubahan pembisuan
perubahan didasarkan pada masing-masing kelompok volume. Nilai defaultnya ditetapkan ke
true dan harus ditimpa saat master mute tidak boleh
dipertahankan untuk suatu 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 callback
peristiwa ke grup volume. Saat true , klien menerima callback
sampai ICarVolumeGroupEvent ke peristiwa yang memengaruhi volume
grup. 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 dikelola
untuk mengontrol volume. Jika flag config_useFixedVolume tidak
disetel, atau disetel ke false (nilai default), aplikasi dapat memanggil
AudioManager API pengelolaan volume dan ubah volume sebesar
jenis aliran data di mixer software. Hal ini mungkin tidak diinginkan karena
efek potensial pada aplikasi lain dan fakta bahwa
pelemahan volume pada
mixer perangkat lunak dapat menghasilkan
jumlah bit yang lebih sedikit dalam
sinyal ketika diterima di penguat
perangkat keras. Perangkat baru yang belum
telah dikonfigurasi dan ditetapkan ke true untuk menerima perubahan volume
melalui API volume AudioManager dan membisukan audio.
|
|
config_handleVolumeKeysInWindowManager |
Ditentukan dalam frameworks/base/core/res/res/values/config.xml , harus
disetel ke true untuk memungkinkan layanan audio mobil mencegat
peristiwa tombol volume. Jika ditetapkan ke volume false (nilai default)
peristiwa utama dapat diteruskan ke aplikasi latar depan dan dapat
hasil dari pengelolaan peristiwa utama 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 sebenarnya
lokasi harus menyertakan packages/services/Car/service/res/values/
.
RRO servis mobil
Mulai Android 13, AAOS mendukung
Overlay resource runtime. Gunakan RRO untuk mengubah
dari konfigurasi audio mobil. Misalnya, lihat RRO untuk
referensi cuttlefish
otomotif dalam
device/google/cuttlefish/shared/auto/rro_overlay/
. Tujuan
Konfigurasi audioUseDynamicRouting
diganti di
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
.
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
Peta overlay sumber daya terdapat di dalam
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml
:
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
Manifes overlay sumber daya
yang didefinisikan dalam
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
berisi targetPackage
yang ditetapkan sebagai com.android.car.updatable
.
Lihat sumber daya ini untuk informasi lebih lanjut:
API yang mengaktifkan fitur
Metode ini akan menampilkan true
jika fitur diaktifkan pada perangkat, jika tidak
false
. Di CarAudioManager#isAudioFeatureEnabled
API, parameter
lulus 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