در Android 14 و نسخههای بالاتر، رابط Audio HAL بااستفاده از Stable AIDL تعریف میشود. به شرکا و فروشندگان SoC توصیه میشود «لایه انتزاع سختافزاری» صوتی خود را مجدداً پیادهسازی کنند تا میانای AIDL ارائه دهند.
گسترش کتابخانه libaudiohal پشتیبانی چارچوب را برای AIDL HAL اضافه میکند.
با پیادهسازی AIDL، مشخصات پیکربندی خطمشی صوتی به AIDL HAL منتقل میشود. با این تغییر، «مدیر خطمشی صوتی» (APM) پیکربندی را از HAL دریافت میکند
بهجای اینکه آن را از فایل XML ارائهشده توسط فروشنده مصرف کند.
Audio AIDL HAL API
این بخش میاناهای برنامهسازی کاربردی HAL «اصلی»، «جلوهها»، و «رایج» را برای AIDL شرح میدهد.
هنگام پیادهسازی نسخههای جدید Audio HAL که با درایورهای هسته تعامل دارند، از پیادهسازی پیشفرض AIDL API در
/hardware/interfaces/audio/aidl/default/
بهعنوان مرجع استفاده کنید.
برای ساختار فهرست راهنمای Audio HAL برای AIDL، فایل «مرا بخوان» Audio HAL را ببینید.
لایه انتزاع سختافزار اصلی
برخیاز میاناهای کلیدی Core HAL، بااستفاده از AIDL، بهشرح زیر است:
IModule.aidlنقطه ورود به «میانای برنامهسازی کاربردی» است.- جاریسازیها یکطرفه هستند و AudioFlinger از آنها برای ارسال یا دریافت صدا به و از HAL ازطریق
IStreamOut.aidlوIStreamIn.aidlاستفاده میکند. ITelephony.aidlکنترلهای خاصی برای عملکردهای تلفنی ارائه میدهد.IBluetooth.aidlکنترلهای BT SCO و HFP را که در HIDL API رویIPrimaryModuleبودند ارائه میدهد.IConfig.aidlپارامترهای پیکربندی سراسری سیستم را ارائه میدهد.ISoundDose.aidlاز دوز صدا پشتیبانی میکند. برای اطلاعات بیشتر، دوز صدا را ببینید.- جدیدترین نسخه «میانای برنامه کاربردی HAL اصلی» درحال توسعه در
/hardware/interfaces/audio/aidl/android/hardware/audio/core/است. - جدیدترین نسخه منتشرشده از Core HAL API در
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.core/است.
لایه انتزاع سختافزار جلوهها
برخیاز میاناهای کلیدی «لایه انتزاعی سختافزار جلوهها» بااستفاده از AIDL بهشرح زیر است:
IFactory.aidlنقطه ورود به «میانای برنامهسازی کاربردی» است.Descriptor.aidlحاوی همه اطلاعات ازجمله قابلیتها و مشخصههای پیادهسازی جلوه است.Capability.aidlقابلیتهای جلوهای را تعریف میکند که در زمان اجرا تغییر نمیکنند.Parameter.aidlهمه پارامترهای پشتیبانیشده توسط نمونه جلوه را تعریف میکند.- از
IEffect.aidlبرای پیکربندی و کنترل نمونههای جلوه خاص استفاده میشود. بستههای داده مخصوص جلوه که نامشان از جلوه گرفته شده است.
جدیدترین نسخه «میانای برنامهسازی کاربردی لایه انتزاعی سختافزار» «جلوهها» درحال توسعه در
/hardware/interfaces/audio/aidl/android/hardware/audio/effect/است.جدیدترین نسخه منتشرشده از «میانای برنامهسازی کاربردی لایه انتزاعی سختافزار جلوهها» در
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effectاست.
برای اطلاعات بیشتر، جلوههای صوتی را ببینید.
لایه انتزاع سختافزار مشترک
ساختارهای داده و میاناهای همرسانیشده بین HALهای مختلف مانند BT HAL، هسته، و HALهای صوتی جلوهها در Common HAL قرار دارند.
جدیدترین نسخه Common AIDL HAL در دست توسعه در
/hardware/interfaces/audio/aidl/android/hardware/audio/common/است.جدیدترین نسخه منتشرشده از Common HAL API در
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.common/current/android/hardware/audio/common/است.
انواع دادههای پایدار رایج
از تعاریف ساختار داده پایدار هم در HAL و هم در چارچوب استفاده میشود.
جدیدترین نسخه انواع داده پایدار درحال توسعه در
/system/hardware/interfaces/media/aidl/android/media/audio/common/است.جدیدترین نسخه منتشرشده از انواع دادههای پایدار در
/system/hardware/interfaces/media/aidl_api/android.media.audio.common.types/است.
درحال آزمایش Audio AIDL HAL API
آزمایشهای جدید VTS برای میانای AIDL ارائه شده است.
هیچ تغییری در نسخه جدید HAL وجود ندارد که بتواند بر امنیت تأثیر بگذارد.