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ığı genişletildiğinde AIDL HAL için çerçeve desteği eklenir.
AIDL uygulamasıyla birlikte ses politikası yapılandırma spesifikasyonu AIDL HAL'e taşındı. 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'sindeIPrimaryModule
üzerinde bulunan BT SCO ve HFP kontrollerini 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 yayınlanmış en son sürümü
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.core/
sürümündedir.
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.Efektin adını taşıyan, etkiye özel ayrıştırıcılar.
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ınlanmış sürümü
/system/hardware/interfaces/media/aidl_api/android.media.audio.common.types/
sürümündedir.
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 herhangi bir değişiklik yok.