Ses yapılandırması AAOS bayrakları, Ses yapılandırması AAOS bayrakları

Android Automotive OS (AAOS), dinamik yönlendirmeden başlayıp araba hizmetindeki ses düzeyi kontrolü gibi daha genel özellik işaretlerine kadar farklı özellikleri etkinleştirmek için işaretler ve yapılandırmalar kullanır. Ses yönetimi için mevcut AAOS yapılandırma bayrakları burada açıklanmaktadır.

Bayrak Amaç
audioUseDynamicRouting Araç servisi yapılandırma dosyasında AAOS yönlendirmeyi etkinleştirmek için tanımlanmıştır. Yapılandırmanın true olarak ayarlanması gerekir. false olduğunda, yönlendirme ve CarAudioService büyük bir kısmı devre dışı bırakılır ve işletim sistemi, Ses politikalarını yapılandırma bölümünde açıklanan varsayılan davranışa geri döner.
audioUseCarVolumeGroupMuting Bireysel birim gruplarının sessize alınmasını etkinleştirmek için araç hizmeti yapılandırma dosyasında tanımlanmıştır. false (varsayılan değer) olarak ayarlandığında, bireysel ses grubu gruplarının sessize alınması devre dışı bırakılır. Bunun yerine, sessize alma ana sessize alma işlemini değiştirir. true olarak ayarlandığında, araç ses grubu ses kapatma etkinleştirilir ve her bir ses grubu ayrı ayrı sessize alınabilir. true olduğunda, Ses Kontrolü HAL'sinde ses grubu sessize alma işlemi uygulanmalıdır.
audioUseHalDuckingSignals IAudioControl#onDevicesToDuckChange API'sinin HAL'a ne zaman eğileceğini bildirmesini sağlamak için araba hizmeti yapılandırma dosyasında tanımlanmıştır. true olduğunda (varsayılan değer), API hangi çıkış cihazlarının devre dışı bırakılacağını ve hangi kullanımların odağı tuttuğunu belirten sinyaller alır. false olduğunda API çağrılmaz. Ses Kontrolü HAL'i eğilmeyi uygulamadığı sürece API çağrılmaz.
config_oemCarService Araç hizmeti yapılandırma dosyasında tanımlanan bu, OEM özelleştirme hizmetinin bileşen adıdır. OEM'ler, araç servis işlemlerini farklı politikalara göre özelleştirmek amacıyla bu hizmeti uygulamayı tercih edebilir. OEM'ler bu bileşeni uygulamayı tercih ederse, car-lib tarafından sunulan OemCarService genişletmek için bir hizmet uygulamalı ve ardından gerekli bileşen hizmetlerini uygulamalıdır. Özellikle araç ses hizmeti için, OEM'ler ses eylemini yönetmek için ses alt hizmetlerinden herhangi birini uygulayabilir. Ayrıntılar için Araç Ses Eklentisi Hizmeti'ne bakın. Bileşen adı geçersizse CarService herhangi bir OEM hizmetine bağlanmayacaktır. Bileşen adı üçüncü taraf paketi olamaz. Önceden yüklenmiş olması gerekir.
audioVolumeAdjustmentContextsVersion

Araba servisi yapılandırma dosyasında tanımlanan, ses düzeyi ayarlama bağlamı öncelik listesinin sürümünü seçmek için yapılandırma.

Sürüm 1, tüm ses bağlamlarını şu sırayla içerir:

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

Sürüm 2 bu sırayla aşağıdaki bağlamlarla sınırlıdır.

Varsayılan sürüm 1 .

  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
audioPersistMasterMuteState Araba servisi yapılandırma dosyasında tanımlanan, genel sessiz durumunu sürdürecek yapılandırma. true olduğunda (varsayılan değer), Android, önyükleme sırasında genel sessiz durumunu geri yükler. audioUseCarVolumeGroupMuting true olduğunda, sessize alma değişiklikleri bireysel ses düzeyi gruplarına dayalı olduğundan bunun sessize alma değişikliklerinin kalıcı olması üzerinde hiçbir etkisi yoktur. Varsayılan değer true olarak ayarlanmıştır ve bir aygıt için ana sessize alma işleminin sürdürülmemesi gerektiğinde bu değerin üzerine yazılması gerekir.
audioVolumeKeyEventTimeoutMs

Araba servisi yapılandırma dosyasında tanımlanan, ses seviyesi tuşu etkinlikleri sırasında bir araba ses seviyesi grubu ses seviyesi kontrolü değişiklikleri için etkin kabul edilirken zaman aşımını milisaniye cinsinden gösterecek yapılandırma. Yapılandırma şu şekilde kullanılır:

  • Zaman aşımı, bir oynatmanın (oynatmanın ses kullanımıyla ilişkili ses düzeyi) oynatmayı durdurduktan sonra otomatik ses düzeyi seçimi için hala dikkate alınıp alınamayacağını belirlemek için kullanılır.
  • Zaman aşımı aynı zamanda kullanıcının ayarladığı ayarı değiştirmek için otomatik ses düzeyi ayarlamaları arasında gereken duraklama süresi olarak da kullanılır.

Varsayılan değer 3000 milisaniyedir ve kullanıcı deneyimini uyarlamak için OEM'ler tarafından ayarlanmalıdır.

audioUseCarVolumeGroupEvent Araba hizmeti yapılandırma dosyasında tanımlanan, birim gruplarına geri arama olaylarını etkinleştirecek yapılandırma. true olduğunda, istemciler birim gruplarını etkileyen olaylara ICarVolumeGroupEvent aracılığıyla geri çağrı alırlar. Etkinleştirildiğinde:

  • Satıcıların ses donanımındaki olaylar ve değişiklikler için IAudioControl#setModuleChangeCallback ve IAudioControl#registerGainCallback de desteklemelerini önemle tavsiye ederiz.
  • Hem CarVolumeCallback hem de CarVolumeGroupEventCallback aynı uygulama tarafından kaydedildiğinde, birim grubu dizini ve birim grubu sessize alma geri aramaları yalnızca CarVolumeGroupEventCallback üzerinden geçecektir. Bu nedenle, tutarlı performans sağlamak için tüm uygulamaların yeni geri arama arayüzüne geçmesini önemle öneririz.
  • Varsayılan değer false . Eski birim geri çağırmalarını destekleyen API'ler kullanımdan kaldırıldığı ve yakında tamamen kaldırılacağı için bunu true olarak ayarlamanızı öneririz.

config_useFixedVolume frameworks/base/core/res/res/values/config.xml dosyasında tanımlanmıştır. Araç ses hizmetinin ses seviyesi kontrolünü yönetmesine izin vermek için true olarak ayarlanması gerekir. config_useFixedVolume bayrağı ayarlanmadığında veya false (varsayılan değer) değerine ayarlandığında, uygulamalar AudioManager birim yönetimi API'lerini çağırabilir ve yazılım karıştırıcısında ses düzeyini akış türüne göre değiştirebilir. Bu, diğer uygulamalar üzerindeki potansiyel etki nedeniyle ve yazılım karıştırıcısındaki ses seviyesi zayıflamasının, donanım yükselticisinden alındığında sinyalde daha az sayıda önemli bit bulunmasına neden olabilmesi nedeniyle istenmeyen bir durum olabilir. Yapılandırılmamış ve true şekilde ayarlanmış yeni cihazlar, AudioManager ses düzeyi ve ses kapatma API'leri aracılığıyla ses düzeyi değişikliklerini alır.
config_handleVolumeKeysInWindowManager frameworks/base/core/res/res/values/config.xml dosyasında tanımlanan, araç ses hizmetinin ses seviyesi tuşu olaylarını engellemesine izin vermek için true olarak ayarlanmalıdır. false (varsayılan değer) olarak ayarlanırsa ses seviyesi tuşu etkinlikleri ön plan uygulamasına iletilebilir ve araç ses hizmeti dışındaki ses seviyesi tuşu olay yönetiminden olumsuz sonuçlara yol açabilir.

Araç ses hizmeti yapılandırmaları

Android 13'ten önce, packages/services/Car/service/res/values/config.xml dosyası için bir ürün yapılandırma katmanıyla araç hizmeti yapılandırmalarının üzerine yazıyordu (daha fazla bilgi edinmek için derlemeyi kaynak katmanlarıyla özelleştirme bölümüne bakın).

PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>

Yapılandırma dosyasının <path_to_overlay> konumundan gerçek konuma kadar olan konumu packages/services/Car/service/res/values/ içermelidir.

Araba servisi RRO'ları

AAOS, Android 13'ten beri Çalışma Zamanı kaynak katmanlarını desteklemektedir. Araç ses yapılandırmasının değerini değiştirmek için bir RRO kullanın. Örneğin, otomotiv cuttlefish referansı için device/google/cuttlefish/shared/auto/rro_overlay/ adresindeki RRO'lara bakın. audioUseDynamicRouting yapılandırması device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml dosyasında geçersiz kılınır.

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

Kaynak yer paylaşımı haritası device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml dosyasında bulunur:

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

device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml tanımlanan kaynak yer paylaşımı bildirimi, com.android.car.updatable olarak ayarlanan targetPackage içerir.

Daha fazla bilgi için şu kaynaklara bakın:

Özellik özellikli API

Özellik cihazda etkinleştirilmişse yöntem true döndürür, aksi takdirde false döndürür. CarAudioManager#isAudioFeatureEnabled API'sinde aktarılan parametre aşağıdakilerden biri olmalıdır:

  • AUDIO_FEATURE_DYNAMIC_ROUTING
  • AUDIO_FEATURE_VOLUME_GROUP_MUTING
  • AUDIO_FEATURE_OEM_AUDIO_SERVICE
  • AUDIO_FEATURE_VOLUME_GROUP_EVENTS
  • AUDIO_FEATURE_AUDIO_MIRRORING