از 27 مارس 2025، توصیه می کنیم از android-latest-release به جای aosp-main برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
لایه انتزاعی سخت افزار صوتی اندروید (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 روانتر میشود و ویژگیهای جدیدتر قابل رویت کاربر را برای کاربران نهایی امکانپذیر میکند.
Core HAL API اصلی است که توسط AudioFlinger برای پخش صدا و کنترل مسیریابی صدا استفاده می شود.
Effects HAL API توسط چارچوب افکت ها برای کنترل جلوه های صوتی استفاده می شود. همچنین میتوانید جلوههای پیشپردازش مانند کنترل خودکار بهره و سرکوب نویز را از طریق Effects HAL API پیکربندی کنید.
Common HAL API کتابخانه ای از انواع داده های رایج است که توسط Core و Effects HAL API ها استفاده می شود. Common HAL هیچ رابط و هیچ تست VTS مرتبطی ندارد زیرا فقط ساختارهای داده را تعریف می کند.
علاوه بر اجرای Audio HAL و ایجاد فایل پیکربندی خط مشی صوتی، باید الزامات HAL زیر را رعایت کنید:
اگر ضبط برای Sound Trigger (گرفتن از hotword DSP buffer) توسط یک نمایه ورودی پشتیبانی میشود، پیادهسازی باید از تعداد جریانهای فعال در این نمایه مطابق با تعداد جلسات همزمان پشتیبانی شده توسط Sound Trigger HAL پشتیبانی کند.
همزمانی تماس صوتی TX و ضبط از پردازنده برنامه همانطور که در صفحه ضبط همزمان توضیح داده شده است.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Audio HAL\n\nAndroid's Audio hardware abstraction layer (HAL) connects the higher-level,\naudio-specific framework APIs into\n[`android.media`](http://developer.android.com/reference/android/media/package-summary.html)\nthe underlying audio drivers and hardware. The Audio HAL defines the standard\ninterface that audio services call in to. The Audio HAL must be implemented for\nthe audio hardware to function correctly.\n\nThis page gives an overview of the Audio HAL and provides details of its API and\nimplementation requirements.\n\nAudio HAL interface\n-------------------\n\nStarting with Android 14, the Audio HAL interface is\ndefined using [AIDL](/docs/core/audio/aidl-implement). For past versions, the\nAudio HAL interface is defined using [HIDL](/docs/core/audio/hidl-implement).\nPartners and SoC vendors are encouraged to reimplement their\nAudio HAL to provide an AIDL interface.\n\nNew HAL APIs for features added in Android 14 and\nhigher are supported **only** with the implementation of the AIDL interface.\nStarting with Android 14, no new API is added to the\nHIDL implementation.\n\nSwitching to AIDL and deprecating and removing support for previous\nmajor Audio HAL versions frees up disk space and RAM on devices. This\nleads to a smoother UX and allows for newer user-visible features for end users.\n\nSee [AIDL and HIDL Audio HAL comparison](/docs/core/audio/aidl-hidl-comp)\nfor more information about the differences between the AIDL and HIDL Audio HAL.\n\n### Audio HAL API\n\nThe Audio HAL contains the following APIs:\n\n- The Core HAL is the main API used by AudioFlinger to play audio and control the audio routing.\n- The Effects HAL API is used by the effects framework to control audio effects.\n You can also configure [preprocessing effects](/devices/audio/implement-pre-processing)\n such as automatic gain control and noise suppression through the Effects HAL\n API.\n\n | **Note:** The Audio Effects HAL API is similar to the [framework effects APIs](https://developer.android.com/reference/android/media/audiofx/AudioEffect).\n- The Common HAL API is a library of common data types used by the Core and\n Effects HAL APIs. The Common HAL has no interfaces and no associated VTS\n tests as it defines only data structures.\n\nSee [AIDL Audio HAL](/docs/core/audio/aidl-implement) and\n[HIDL Audio HAL](/docs/core/audio/hidl-implement) for specific details\nrelated to AIDL and HIDL respectively.\n| **Note:** Starting with Android 13, Audio HAL is updated to version 7.1.\n\nRequirements\n------------\n\nIn addition to implementing the Audio HAL and creating the audio policy\nconfiguration file, you must adhere to the following HAL requirements:\n\n- If capture for Sound Trigger (capture from hotword DSP buffer) is supported\n by one input profile, the implementation must support the number of active\n streams on this profile corresponding to the number of concurrent sessions\n supported by Sound Trigger HAL.\n\n | **Note:** The implementation of the [Sound trigger HAL](/docs/core/audio/sound-trigger) is located at `/hardware/interfaces/soundtrigger` and is coupled with the Audio HAL.\n- Concurrency of voice call TX and capture from the app processor as\n detailed on the [Concurrent capture](/docs/core/audio/concurrent) page."]]