Android 14 sürümünden itibaren ses HAL arayüzü Kararlı AIDL kullanılarak tanımlanmıştır. İş Ortakları ve SoC tedarikçi firmalarının ses HAL'lerini yeniden uygulayarak AIDL arayüzü.
libaudiohal
kitaplığının genişletilmesi, AIDL HAL için çerçeve desteği ekler.
AIDL uygulamasıyla birlikte ses politikasının yapılandırma spesifikasyonu
AIDL HAL'ye taşındı. Bu değişiklikle birlikte, Ses Politikası Yöneticisi (APM)
yapılandırmasını tedarikçi tarafından sağlanan XML'den almak yerine HAL'den alır
dosyası olarak kaydedebilirsiniz.
Ses AIDL HAL API'sı
Bu bölümde AIDL için Temel, Efektler ve Yaygın HAL API'leri açıklanmaktadır.
AIDL API'nin varsayılan uygulamasını şurada kullan:
/hardware/interfaces/audio/aidl/default/
ses HAL'lerinin yeni sürümlerini uygularken referans olarak
çekirdek sürücüleriyle etkileşime girin.
Bkz. Ses HAL README dosyası AIDL'nin Ses HAL dizin yapısına bakın.
Temel HAL
Temel HAL'nin temel arayüzlerinden bazıları, şu şekildedir:
IModule.aidl
, API'ye giriş noktasıdır.- Akışlar tek yönlüdür ve AudioFlinger tarafından gönderip almak için kullanılır
IStreamOut.aidl
veIStreamIn.aidl
ile HAL arasında ve HAL'den ses. ITelephony.aidl
telefon işlevlerine özel kontroller sağlar.IBluetooth.aidl
,IPrimaryModule
tarihinde kaydedilen BT SCO ve HFP kontrollerini sağlar göz atabilirsiniz.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 bölümüne bakın.- Core HAL API'nin yapım aşamasında en son sürümü
/hardware/interfaces/audio/aidl/android/hardware/audio/core/
sürümündedir. - 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.
Efekt HAL'si
AIDL kullanan Efektler HAL'nin önemli arayüzlerinden bazıları şunlardır:
IFactory.aidl
, API'ye giriş noktasıdır.Descriptor.aidl
özellikler ve özellikleri hakkında daha fazla bilgi edinin.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.
Efektler HAL API'nin yapım aşamasında en son sürümü
/hardware/interfaces/audio/aidl/android/hardware/audio/effect/
sürümündedir.Efektler HAL API'nin yayınlanmış en son sürümü
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effect
.
Daha fazlası için Ses Efektleri bölümüne göz atın ekleyebilirsiniz.
Ortak HAL
BT HAL, core gibi çeşitli HAL'ler arasında paylaşılan veri yapıları ve arayüzler ve efektlerle ilgili ses HAL'leri Ortak HAL'dir.
Common AIDL HAL'nin yapım aşamasında en son sürümü aşağıda verilmiştir
/hardware/interfaces/audio/aidl/android/hardware/audio/common/
.Common HAL API'nin yayınlanan en son sürümü
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.common/current/android/hardware/audio/common/
.
Yaygın olarak kullanılan kararlı veri türleri
Kararlı veri yapısı tanımları hem HAL'ler hem de çerçeve tarafından kullanılır.
Yapım aşamasındaki kararlı veri türlerinin en son sürümü şu sürümdedir:
/system/hardware/interfaces/media/aidl/android/media/audio/common/
.Kararlı veri türlerinin yayınlanmış en son sürümü
/system/hardware/interfaces/media/aidl_api/android.media.audio.common.types/
.
Audio AIDL HAL API'yi test etme
Yeni VTS AIDL arayüzü için testler sağlanmaktadır.
Yeni HAL sürümünde güvenliği etkileyebilecek herhangi bir değişiklik yok.