Bendera AAOS konfigurasi audio, bendera 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. Flag konfigurasi AAOS saat ini untuk manajemen audio dijelaskan di sini.

Bendera Tujuan
audioUseDynamicRouting Didefinisikan dalam file konfigurasi layanan mobil untuk Mengaktifkan perutean AAOS . Konfigurasi harus disetel ke true . Jika false , perutean dan sebagian besar CarAudioService , dinonaktifkan dan OS kembali ke perilaku default yang dijelaskan dalam Mengonfigurasi kebijakan audio .
audioUseCarVolumeGroupMuting Didefinisikan dalam file konfigurasi layanan mobil untuk mengaktifkan pembungkaman grup volume individual. Jika disetel ke false (nilai default), mematikan grup volume individual akan dinonaktifkan. Sebaliknya, mematikan suara akan mengaktifkan bisu master. Bila disetel ke true , pembungkaman grup volume mobil diaktifkan dan setiap grup volume dapat dibisukan secara terpisah. Jika true , pembungkaman grup volume harus diterapkan di Audio Control HAL .
audioUseHalDuckingSignals Didefinisikan dalam file konfigurasi layanan mobil untuk mengaktifkan API IAudioControl#onDevicesToDuckChange untuk memberi tahu HAL kapan harus menghindar. Jika true (nilai default), API menerima sinyal yang menunjukkan perangkat keluaran mana yang harus dihindari dan penggunaan apa yang menjadi fokus. Jika false , API tidak dipanggil. API tidak dipanggil kecuali Audio Control HAL mengimplementasikan pengecilan.
config_oemCarService Didefinisikan dalam file konfigurasi layanan mobil, ini adalah nama komponen untuk layanan kustomisasi OEM. OEM dapat memilih untuk menerapkan layanan ini guna menyesuaikan tindakan servis mobil untuk kebijakan yang berbeda. Jika OEM memilih untuk mengimplementasikan komponen ini, mereka harus mengimplementasikan layanan untuk memperluas OemCarService yang diekspos oleh car-lib, dan kemudian mengimplementasikan layanan komponen yang diperlukan. Khusus untuk layanan audio mobil, OEM dapat mengimplementasikan sublayanan audio mana pun untuk mengelola tindakan audio. Untuk 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. Itu harus sudah diinstal sebelumnya.
audioVolumeAdjustmentContextsVersion

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

Versi 1 mencakup semua konteks audio, dengan urutan sebagai berikut:

  • 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 Didefinisikan dalam file konfigurasi layanan mobil, konfigurasi untuk mempertahankan status bisu global. Jika true (nilai default) Android mengembalikan status bisu global saat boot. Jika audioUseCarVolumeGroupMuting bernilai true , hal ini tidak berdampak pada perubahan bisu yang tetap ada karena perubahan bisu didasarkan pada grup volume individual. Nilai default disetel ke true dan harus ditimpa ketika master mute tidak dipertahankan pada perangkat.
audioVolumeKeyEventTimeoutMs

Didefinisikan dalam file konfigurasi layanan mobil, konfigurasi untuk menunjukkan batas waktu dalam milidetik sementara grup volume mobil dianggap aktif untuk perubahan kontrol volume selama peristiwa tombol volume. Konfigurasi yang digunakan sebagai berikut:

  • Batas waktu digunakan untuk menentukan apakah pemutaran (volume audio yang dikaitkan dengan penggunaan audio pemutaran) masih dapat dipertimbangkan untuk pemilihan volume otomatis setelah berhenti diputar.
  • Batas waktu 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 Didefinisikan dalam file konfigurasi layanan mobil, konfigurasi untuk mengaktifkan peristiwa panggilan balik ke grup volume. Jika true , klien menerima panggilan balik melalui ICarVolumeGroupEvent ke peristiwa yang memengaruhi grup volume. Saat diaktifkan:

  • Kami sangat menyarankan agar vendor juga mendukung IAudioControl#setModuleChangeCallback dan IAudioControl#registerGainCallback untuk kejadian dan perubahan pada perangkat keras audio.
  • Ketika CarVolumeCallback dan CarVolumeGroupEventCallback didaftarkan oleh aplikasi yang sama, indeks grup volume dan panggilan balik bisu grup volume harus melalui CarVolumeGroupEventCallback saja . Oleh karena itu, kami sangat menyarankan agar semua aplikasi bermigrasi ke antarmuka panggilan balik baru untuk memastikan kinerja yang konsisten.
  • Nilai defaultnya adalah false . Kami menyarankan Anda menyetelnya ke true karena API untuk mendukung callback volume lama sudah tidak digunakan lagi dan akan segera dihapus seluruhnya.

config_useFixedVolume Didefinisikan 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 disetel, atau disetel ke false (nilai default), aplikasi dapat memanggil API pengelolaan volume AudioManager dan mengubah volume berdasarkan jenis aliran di pencampur perangkat lunak. Hal ini mungkin tidak diinginkan karena potensi efeknya pada aplikasi lain dan fakta bahwa pelemahan volume pada pencampur perangkat lunak dapat mengakibatkan lebih sedikit bit signifikan yang tersedia dalam sinyal saat diterima di penguat perangkat keras. Perangkat baru yang belum dikonfigurasi dan disetel ke true menerima perubahan volume melalui API volume dan bisu AudioManager .
config_handleVolumeKeysInWindowManager Didefinisikan dalam frameworks/base/core/res/res/values/config.xml , harus disetel ke true agar layanan audio mobil dapat mencegat peristiwa kunci volume. Jika disetel ke false (nilai default), peristiwa tombol volume dapat diteruskan ke aplikasi latar depan dan dapat menyebabkan hasil buruk 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 sumber daya ) 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 servis mobil

Sejak Android 13, AAOS mendukung overlay sumber daya 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 hamparan sumber daya terdapat di device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml :

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

Manifes hamparan sumber daya yang ditentukan di device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml berisi targetPackage yang disetel sebagai com.android.car.updatable .

Lihat sumber daya ini untuk informasi lebih lanjut:

API yang mendukung fitur

Metode ini mengembalikan true jika fitur tersebut diaktifkan pada perangkat, jika tidak, false . Di CarAudioManager#isAudioFeatureEnabled API, parameter yang diteruskan harus berupa 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