Ses yapılandırması AAOS işaretleri

Android Automotive OS (AAOS), farklı özellikleri etkinleştirmek için işaretler ve yapılandırmalar kullanır. Bu özellikler, dinamik yönlendirmeden başlayıp araba hizmetinden ses kontrolü gibi daha genel özellik işaretlerine kadar uzanır. Ses yönetimi için mevcut AAOS yapılandırma işaretleri burada açıklanmıştır.

İşaretle Amaç
audioUseDynamicRouting AAOS yönlendirmesini etkinleştirmek için araç hizmeti yapılandırma dosyasında tanımlanır. Yapılandırma true olarak ayarlanmalıdır. false, yönlendirme ve CarAudioService'nin 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.
useCoreAudioRouting AAOS çekirdek ses yönlendirme yönetimini etkinleştirmek için araç hizmeti yapılandırma dosyasında tanımlanır. Değer true olarak ayarlandığında araç ses hizmeti, yapılandırılabilir ses politikası motoru ile ayarlanan yapılandırma tanımlarını kullanır. Değer false olarak ayarlanırsa yönlendirme yönetimi, audioUseDynamicRouting kullanılarak yapılandırılan araç ses hizmeti dinamik ses politikası karışımı tanımını kullanmaya geri döner.
useCoreAudioVolume AAOS'ta temel ses seviyesi yönetimini etkinleştirmek için araç hizmeti yapılandırma dosyasında tanımlanır. Değer true olarak ayarlandığında, araba ses hizmeti yapılandırılabilir ses politikası motoru ile ayarlanan ses grubu tanımlarını kullanır. Değer false olarak ayarlanırsa ses yönetimi, audioUseDynamicRouting kullanılarak yapılandırılan araba ses hizmetinin varsayılan ses grubu tanımını kullanmaya geri döner.
audioUseCarVolumeGroupMuting Ayrı ses gruplarının sessize alınmasını sağlamak için araç hizmeti yapılandırma dosyasında tanımlanır. false (varsayılan değer) olarak ayarlandığında, ayrı ses gruplarının sessize alınması devre dışı bırakılır. Bunun yerine, yoksayma işlemi genel yoksayma özelliğini etkinleştirir. true olarak ayarlandığında, araç ses grubu sessize alma özelliği etkinleştirilir ve her bir ses grubu ayrı ayrı sessize alınabilir. true olduğunda, ses grubu sessize alma işlemi Audio Control HAL'de uygulanmalıdır.
audioUseHalDuckingSignals IAudioControl#onDevicesToDuckChange API'nin, HAL'e ne zaman ses kısacağını bildirmesini sağlamak için araç hizmeti yapılandırma dosyasında tanımlanır. true (varsayılan değer) olduğunda API, hangi çıkış cihazlarının sesinin kısılacağını ve hangi kullanımların odaklanacağını belirten sinyaller alır. false olduğunda, API çağrılmaz. Audio Control HAL, ses kısma özelliğini uygulamadığı sürece API çağrılmaz.
config_oemCarService Araba hizmeti yapılandırma dosyasında tanımlanan bu ad, OEM özelleştirme hizmetinin bileşen adıdır. OEM'ler, farklı politikalar için araç hizmeti işlemlerini özelleştirmek üzere bu hizmeti uygulamayı tercih edebilir. OEM'ler bu bileşeni uygulamayı tercih ederse car-lib tarafından kullanıma sunulan OemCarService hizmetini 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 işlemini yönetmek üzere ses alt hizmetlerinden herhangi birini uygulayabilir. Ayrıntılar için Car Audio Plugin Service başlıklı makaleyi inceleyin. Bileşen adı geçersizse CarService herhangi bir OEM hizmetine bağlanmaz. Bileşen adı, üçüncü taraf paketi olamaz. Önceden yüklenmiş olmalıdır.
audioVolumeAdjustmentContextsVersion

Araba hizmeti yapılandırma dosyasında tanımlanan, ses ayarı bağlamı öncelik listesinin sürümünü seçme yapılandırması.

1. sürüm, 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

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

Varsayılan sürüm 1'dır.

  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
audioPersistMasterMuteState Araba hizmeti yapılandırma dosyasında tanımlanan, genel sessize alma durumunu kalıcı hale getirme yapılandırması. true (varsayılan değer) olduğunda Android, başlatma sırasında genel sessize alma durumunu geri yükler. audioUseCarVolumeGroupMuting true olduğunda bu durum, sessize alma değişikliklerinin kalıcı olması üzerinde herhangi bir etkiye sahip değildir. Sessize alma değişiklikleri, ayrı ses gruplarına göre yapılır. Varsayılan değer true olarak ayarlanır ve cihazda ana sessize alma özelliği kalıcı olmaması gerektiğinde bu değerin üzerine yazılmalıdır.
audioVolumeKeyEventTimeoutMs

Araba hizmeti yapılandırma dosyasında tanımlanan, ses seviyesi tuşu etkinlikleri sırasında ses seviyesi kontrolü değişiklikleri için bir araba ses seviyesi grubunun etkin kabul edildiği milisaniye cinsinden zaman aşımını belirten yapılandırma. Yapılandırma aşağıdaki gibi kullanılır:

  • Zaman aşımı, oynatma durduktan sonra otomatik ses seçimi için oynatmanın (oynatmanın ses kullanımıyla ilişkili ses düzeyi) hâlâ dikkate alınıp alınamayacağını belirlemek için kullanılır.
  • Zaman aşımı, kullanıcının ayarladığı şeyi değiştirmek için otomatik ses ayarlamaları arasında gereken duraklatma süresi olarak da kullanılır.

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

audioUseCarVolumeGroupEvent Geri arama etkinliklerinin hacim gruplarında etkinleştirilmesini sağlayan yapılandırma, araç hizmeti yapılandırma dosyasında tanımlanır. true olduğunda, müşteriler ICarVolumeGroupEvent aracılığıyla geri arama alır. Bu geri aramalar, hacim gruplarını etkileyen etkinliklerle ilgilidir. Etkinleştirildiğinde:
  • Tedarikçilerin, etkinlikler ve ses donanımındaki değişiklikler için IAudioControl#setModuleChangeCallback ve IAudioControl#registerGainCallback'yi de desteklemesini önemle tavsiye ederiz.
  • Hem CarVolumeCallback hem de CarVolumeGroupEventCallback aynı uygulama tarafından kaydedildiğinde, ses grubu dizini ve ses grubu sessize alma geri aramaları CarVolumeGroupEventCallback yalnızca üzerinden gerçekleşir. Bu nedenle, tutarlı performans sağlamak için tüm uygulamaların yeni geri çağırma arayüzüne taşınmasını önemle tavsiye ederiz.
  • Varsayılan değer false'dır. Eski birim geri aramalarını destekleyen API'ler kullanımdan kaldırıldığı ve yakında tamamen kaldırılacağı için bu ayarı true olarak ayarlamanızı öneririz.

config_useFixedVolume frameworks/base/core/res/res/values/config.xml içinde tanımlanır. Aracın ses hizmetinin ses seviyesi kontrolünü yönetebilmesi için true olarak ayarlanmalıdır. config_useFixedVolume işareti ayarlanmadığında veya false (varsayılan değer) olarak ayarlandığında uygulamalar AudioManager ses yönetimi API'lerini çağırabilir ve yazılım mikserinde akış türüne göre sesi değiştirebilir. Bu durum, diğer uygulamalar üzerindeki olası etkisi ve yazılım mikserindeki ses zayıflatma işleminin, donanım amplifikatöründe alınan sinyalde daha az önemli bit bulunmasına neden olabilmesi nedeniyle istenmeyebilir. Yapılandırılmamış ve true ses ve sessize alma API'leri aracılığıyla AudioManager ses değişikliklerini alacak şekilde ayarlanmış yeni cihazlar.
config_handleVolumeKeysInWindowManager frameworks/base/core/res/res/values/config.xml içinde tanımlanır. Araba ses hizmetinin ses seviyesi tuşu etkinliklerini yakalamasına izin vermek için true olarak ayarlanmalıdır. false (varsayılan değer) olarak ayarlanırsa ses tuşu etkinlikleri ön plan uygulamasına yönlendirilebilir ve araç ses hizmeti dışında ses tuşu etkinliklerinin yönetimi olumsuz sonuçlara yol açabilir.
audioUseMinMaxActivationVolume Minimum ve maksimum etkinleştirme hacmini etkinleştirmek için araç hizmeti yapılandırma dosyasında tanımlanır. minimum and maximum activation volume. true olduğunda, minimum ve maksimum etkinleştirme hacmi yönetimi nedeniyle hacim kazancı indeksi ayarlanabilir. false (varsayılan değer) olduğunda minimum ve maksimum etkinleştirme hacmi geçerli olmaz.
audioUseFadeManagerConfiguration Sistem tarafından zorunlu kılınan ses odağı kaybı davranışını etkinleştirmek için araç hizmeti yapılandırma dosyasında tanımlanır. true olduğunda, araç ses çerçevesi, araç sesinin fade yapılandırma tanımlarını ayrıştırır ve ses odağı kaybını gönderirken ilgili FadeManagerConfiguration'yi uygular. false (varsayılan değer) olduğunda sistem, bir uygulama ses odağını kaybettiğinde sesin yavaşça kısılmasını zorunlu kılmaz.

Araç ses hizmeti yapılandırmaları

Android 13'ten önce, araba hizmeti yapılandırmalarının üzerine packages/services/Car/service/res/values/config.xml dosyası için ürün yapılandırması yerleşimi yazılıyordu (daha fazla bilgi için Kaynak yerleşimleriyle derlemeyi özelleştirme başlıklı makaleyi inceleyin).

PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>

Yapılandırma dosyasının <path_to_overlay> konumundan gerçek konuma kadar olan bölümünde packages/services/Car/service/res/values/ yer almalıdır.

Otomobil servisi RRO'ları

AAOS, Android 13'ten itibaren çalışma zamanı kaynak kaplamalarını destekler. Araç ses yapılandırmasının değerini değiştirmek için RRO kullanın. Örneğin, cuttlefish bölümündeki otomotiv device/google/cuttlefish/shared/auto/rro_overlay/ referansının RRO'larına bakın. audioUseDynamicRouting yapılandırması, device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml içinde geçersiz kılınıyor.

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

Kaynak yer paylaşımı haritası device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml içinde yer alır:

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

device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml içinde tanımlanan kaynak yer paylaşımı manifesti, targetPackage değerini com.android.car.updatable olarak ayarlanmış şekilde içerir.

Daha fazla bilgi için şu kaynaklara göz atın:

Özellik etkin API

Özellik cihazda etkinse yöntem true, aksi takdirde false değerini döndürür. CarAudioManager#isAudioFeatureEnabled API'sinde iletilen parametre şunlardan 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