HAL صوتی

لایه انتزاعی سخت افزار صوتی اندروید (HAL) APIهای فریمورک سطح بالاتر و مخصوص صدا را به android.media درایورهای صوتی و سخت افزار زیرین متصل می کند. Audio HAL رابط استانداردی را تعریف می کند که سرویس های صوتی به آن فراخوانی می کنند. برای عملکرد صحیح سخت افزار صوتی باید HAL صوتی اجرا شود.

این صفحه یک نمای کلی از Audio HAL و جزئیات API و الزامات پیاده سازی آن را ارائه می دهد.

رابط صوتی HAL

با شروع اندروید 14، رابط صوتی HAL با استفاده از AIDL تعریف شده است. برای نسخه‌های گذشته، رابط صوتی HAL با استفاده از HIDL تعریف شده است. شرکا و فروشندگان SoC تشویق می شوند تا Audio HAL خود را برای ارائه رابط AIDL دوباره پیاده سازی کنند.

API های جدید HAL برای ویژگی های اضافه شده در اندروید 14 و بالاتر فقط با اجرای رابط AIDL پشتیبانی می شوند. با شروع اندروید 14، هیچ API جدیدی به اجرای HIDL اضافه نشده است.

تغییر به AIDL و منسوخ کردن و حذف پشتیبانی از نسخه‌های اصلی Audio HAL قبلی، فضای دیسک و رم دستگاه‌ها را آزاد می‌کند. این منجر به UX روان‌تر می‌شود و ویژگی‌های جدیدتر قابل رویت کاربر را برای کاربران نهایی امکان‌پذیر می‌کند.

برای اطلاعات بیشتر در مورد تفاوت بین AIDL و HIDL Audio HAL مقایسه AIDL و HIDL Audio HAL را ببینید.

صوتی HAL API

Audio HAL شامل API های زیر است:

  • Core HAL API اصلی است که توسط AudioFlinger برای پخش صدا و کنترل مسیریابی صدا استفاده می شود.
  • Effects HAL API توسط چارچوب افکت ها برای کنترل جلوه های صوتی استفاده می شود. همچنین می‌توانید جلوه‌های پیش‌پردازش مانند کنترل خودکار بهره و سرکوب نویز را از طریق Effects HAL API پیکربندی کنید.

  • Common HAL API کتابخانه ای از انواع داده های رایج است که توسط Core و Effects HAL API ها استفاده می شود. Common HAL هیچ رابط و هیچ تست VTS مرتبطی ندارد زیرا فقط ساختارهای داده را تعریف می کند.

برای جزئیات خاص مربوط به AIDL و HIDL به ترتیب به AIDL Audio HAL و HIDL Audio HAL مراجعه کنید.

الزامات

علاوه بر اجرای Audio HAL و ایجاد فایل پیکربندی خط مشی صوتی، باید الزامات HAL زیر را رعایت کنید:

  • اگر ضبط برای Sound Trigger (گرفتن از hotword DSP buffer) توسط یک نمایه ورودی پشتیبانی می‌شود، پیاده‌سازی باید از تعداد جریان‌های فعال در این نمایه مطابق با تعداد جلسات همزمان پشتیبانی شده توسط Sound Trigger HAL پشتیبانی کند.

  • همزمانی تماس صوتی TX و ضبط از پردازنده برنامه همانطور که در صفحه ضبط همزمان توضیح داده شده است.