اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release بدلاً من aosp-main لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تربط طبقة تجريد الأجهزة الصوتية (HAL) في Android واجهات برمجة التطبيقات ذات المستوى الأعلى
المخصّصة للإطارات الصوتية بandroid.media
برامج تشغيل الصوت والأجهزة الأساسية. يحدِّد Audio HAL الواجهة
المعيار التي تستدعيها خدمات الصوت. يجب تنفيذ Audio HAL ليعمل
معدات الصوت بشكل صحيح.
تقدّم هذه الصفحة نظرة عامة على Audio HAL وتقدّم تفاصيل حول واجهة برمجة التطبيقات ومتطلبات التنفيذ.
واجهة Audio HAL
بدءًا من Android 14، يتم تحديد واجهة Audio HAL باستخدام AIDL. في الإصدارات السابقة، يتم تحديد واجهة
HAL للصوت باستخدام HIDL.
ننصح الشركاء وبائعي شرائح المعالجة المركزية بإعادة تنفيذ
واجهة HAL للصوت من أجل توفير واجهة AIDL.
لا تتوفّر واجهات برمجة التطبيقات الجديدة لـ HAL للميزات التي تمت إضافتها في الإصدار 14 من Android والإصدارات
الأحدث إلا عند تنفيذ واجهة AIDL.
اعتبارًا من Android 14، لم تتم إضافة أي واجهة برمجة تطبيقات جديدة إلى تنفيذ HIDL.
يؤدي التبديل إلى AIDL وإيقاف الإصدارات السابقة
الكبرى من Audio HAL نهائيًا وإزالتها إلى توفير مساحة على القرص وذاكرة الوصول العشوائي (RAM) على الأجهزة. يؤدي ذلك
إلى توفير تجربة مستخدم سلسة والسماح بتوفير ميزات جديدة تظهر للمستخدمين النهائيين.
يحتوي Audio HAL على واجهات برمجة التطبيقات التالية:
Core HAL هي واجهة برمجة التطبيقات الرئيسية التي يستخدمها AudioFlinger لتشغيل الصوت والتحكّم في توجيهه.
يستخدم إطار عمل التأثيرات واجهة برمجة التطبيقات Effects HAL API للتحكّم في التأثيرات الصوتية.
يمكنك أيضًا ضبط تأثيرات المعالجة المُسبَقة
مثل التحكّم التلقائي في الكسب وتقليل الضوضاء من خلال واجهة برمجة التطبيقات Effects HAL
API.
Common HAL API هي مكتبة لأنواع البيانات الشائعة التي تستخدمها واجهات برمجة التطبيقات Core و
Effects HAL API. لا تتضمّن واجهة HAL الشائعة أي واجهات أو اختبارات VTS
مرتبطة بها لأنّها تحدّد هياكل البيانات فقط.
بالإضافة إلى تنفيذ Audio HAL وإنشاء ملف إعدادات ملف سياسة الصوت، عليك الالتزام بمتطلبات HAL التالية:
إذا كان ملف تعريف إدخال واحد يتيح تسجيل ميزة "الاستجابة للصوت" (التسجيل من مخزن مؤقت لمعالج الإشارات الرقمية للكلمة الرئيسية)، يجب أن يتيح التنفيذ عدد عمليات البث النشطة في هذا الملف الشخصي بما يتوافق مع عدد الجلسات المتزامنة التي تتيحها واجهة برمجة التطبيقات لميزة "الاستجابة للصوت".
التزامن بين إرسال المكالمات الصوتية وتسجيلها من معالج التطبيق كما هو موضح بالتفصيل في صفحة التسجيل المتزامن
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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-26 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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."]]