Android 14'ten itibaren Audio HAL arayüzü, Kararlı AIDL kullanılarak tanımlanır. İş ortaklarının ve SoC tedarikçi firmalarının, AIDL arayüzü sağlamak için Audio HAL'lerini yeniden uygulamalarını öneririz.
libaudiohal
kitaplığını genişletmek, AIDL HAL için çerçeve desteği ekler.
AIDL uygulamasıyla birlikte ses politikası yapılandırma spesifikasyonu AIDL HAL'e taşınır. Bu değişiklikle birlikte, Ses Politikası Yöneticisi (APM), yapılandırmayı tedarikçi firma tarafından sağlanan XML dosyasından almak yerine HAL'den alır.
Audio AIDL HAL API
Bu bölümde, AIDL için Core, Effects ve Common HAL API'leri açıklanmaktadır.
Çekirdek sürücüleriyle etkileşime geçen Audio HAL'lerin yeni sürümlerini uygularken referans olarak /hardware/interfaces/audio/aidl/default/
adresindeki AIDL API'nin varsayılan uygulamasını kullanın.
AIDL için Audio HAL dizin yapısına dair Audio HAL README dosyasına bakın.
Core HAL
AIDL kullanan Core HAL'ın temel arayüzlerinden bazıları şunlardır:
IModule.aidl
, API'ye giriş noktasıdır.- Akışlar tek yönlüdür ve AudioFlinger tarafından
IStreamOut.aidl
veIStreamIn.aidl
üzerinden HAL'e ses göndermek veya HAL'den ses almak için kullanılır. ITelephony.aidl
, telefon işlevlerine özgü denetimler sağlar.IBluetooth.aidl
, HIDL API'dekiIPrimaryModule
üzerinde bulunan BT SCO ve HFP denetimlerini sağlar.IConfig.aidl
, sistem genelinde yapılandırma parametreleri sağlar.ISoundDose.aidl
, ses dozu desteği sağlar. Daha fazla bilgi için Ses dozu başlıklı makaleyi inceleyin.- Core HAL API'nin geliştirilmekte olan en son sürümü
/hardware/interfaces/audio/aidl/android/hardware/audio/core/
'dadır. - Core HAL API'nin en son yayınlanan sürümü
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.core/
'dadır.
Efektler HAL
AIDL kullanan Effects HAL'in temel arayüzlerinden bazıları şunlardır:
IFactory.aidl
, API'ye giriş noktasıdır.Descriptor.aidl
, efekt uygulamayla ilgili özellikler ve özellikler gibi tüm bilgileri içerir.Capability.aidl
, çalışma zamanında değişmeyen efekt özelliklerini tanımlar.Parameter.aidl
, efekt örneği tarafından desteklenen tüm parametreleri tanımlar.IEffect.aidl
, belirli efekt örneklerini yapılandırmak ve kontrol etmek için kullanılır.Etkilerin adından türetilen, efekte özel paketlenebilir öğeler.
Effects HAL API'nin geliştirilmekte olan en son sürümü
/hardware/interfaces/audio/aidl/android/hardware/audio/effect/
'dadır.Effects HAL API'nin en son yayınlanan sürümü
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effect
'dadır.
Daha fazla bilgi için Ses Efektleri bölümüne bakın.
Ortak HAL
BT HAL, çekirdek ve efekt ses HAL'leri gibi çeşitli HAL'ler arasında paylaşılan veri yapıları ve arayüzler Ortak HAL'de bulunur.
Ortak AIDL HAL'in geliştirilmekte olan en son sürümü
/hardware/interfaces/audio/aidl/android/hardware/audio/common/
'dadır.Common HAL API'nin en son yayınlanan sürümü
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.common/current/android/hardware/audio/common/
'dadır.
Sık kullanılan kararlı veri türleri
Kararlı veri yapısı tanımları hem HAL'ler hem de çerçeve tarafından kullanılır.
Geliştirilmekte olan kararlı veri türlerinin en son sürümü
/system/hardware/interfaces/media/aidl/android/media/audio/common/
'dadır.Kararlı veri türlerinin en son yayınlanan sürümü
/system/hardware/interfaces/media/aidl_api/android.media.audio.common.types/
'dadır.
Audio AIDL HAL API'yi test etme
AIDL arayüzü için yeni VTS testleri sağlanmıştır.
Yeni HAL sürümünde güvenliği etkileyebilecek bir değişiklik yoktur.