OpenSL ES
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تحذير: تم إيقاف OpenSL ES نهائيًا. على المطوّرين استخدام مكتبة Oboe المفتوحة المصدر المتوفّرة على GitHub.
Oboe عبارة عن برنامج تضمين C++ يوفر واجهة برمجة تطبيقات تشبه إلى حد كبير
AAudio: يستدعي الأوبوا AAudio عندما يكون AAudio
متاحة، وتعود إلى OpenSL ES في حال عدم توفر AAudio.
تتضمن حزمة NDK تنفيذًا خاصًا بنظام Android
واجهة برمجة تطبيقات OpenSL ESTM 1.0.1
من Khronos Group.
وتتيح لك هذه المكتبة استخدام لغة C أو C++ لتنفيذ محتوى صوتي عالي الأداء وزمن انتقال منخفض، سواء كان
إذا كنت تكتب مُركِّبًا أو محطة صوت رقمي أو كاريوكي أو لعبة
أو غيره من التطبيقات في الوقت الفعلي
يعرض معيار OpenSL ESTM ميزات الصوت.
مماثلة لتلك في MediaPlayer
وMediaRecorder
واجهات برمجة التطبيقات في إطار عمل جافا على Android. يوفر OpenSL ES واجهة بلغة C بالإضافة إلى
تتيح لك عمليات ربط C++ استدعاء واجهة برمجة التطبيقات من رمز مكتوب بأي من اللغتين.
تتوفّر واجهات برمجة التطبيقات OpenSL ES API لمساعدتك في تطوير أداء الصوت في تطبيقك وتحسينه.
تسمح رؤوس OpenSL ES العادية <SLES/OpenSLES.h> و
<SLES/OpenSLES_Platform.h> بإدخال الصوت وإخراجه. معلومات إضافية
تتوفر الوظيفة الخاصة بنظام التشغيل Android في <SLES/OpenSLES_Android.h> أو
<SLES/OpenSLES_AndroidConfiguration.h>.
يبدأ هذا القسم بشرح
كيفية دمج OpenSL ES في تطبيقك.
بعد ذلك، يشرح ما تحتاج إلى معرفته
حول تطبيق Android لـ OpenSL ES، مع التركيز أولاً على
والاختلافات بين هذا التنفيذ
المواصفات المرجعية ثم
إضافات إضافية
للتوافق مع Android. يختتم هذا القسم ببعض المعلومات التكميلية
ملاحظات البرمجة لضمان عرض
تنفيذ OpenSL ES.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# OpenSL ES\n\nWARNING: OpenSL ES is **deprecated** . Developers should use the open source\nOboe library which is available on [GitHub](https://github.com/google/oboe).\nOboe is a C++ wrapper that provides an API that closely resembles\n[AAudio](/ndk/guides/audio/aaudio/aaudio). Oboe calls AAudio when AAudio is\navailable, and falls back to OpenSL ES if AAudio is not available.\n\nThe NDK package includes an Android-specific implementation of the\n[OpenSL ES™](https://www.khronos.org/opensles/) 1.0.1 API\nspecification from the [Khronos Group](https://www.khronos.org).\nThis library lets you use C or C++ to implement high-performance, low-latency audio, whether\nyou are writing a synthesizer, digital audio workstation, karaoke, game,\nor other real-time app.\n\n\nThe OpenSL ES™ standard exposes audio features\nsimilar to those in the [MediaPlayer](/reference/android/media/MediaPlayer) and [MediaRecorder](/reference/android/media/MediaRecorder)\nAPIs in the Android Java framework. OpenSL ES provides a C language interface as well as\nC++ bindings, allowing you to call the API from code written in either language.\n\n\nThe OpenSL ES APIs are available to help you develop and improve your app's audio performance.\n\n\nThe standard OpenSL ES headers \\\u003cSLES/OpenSLES.h\\\u003e and\n\\\u003cSLES/OpenSLES_Platform.h\\\u003e allow audio input and output. Additional\nAndroid-specific functionality is in \\\u003cSLES/OpenSLES_Android.h\\\u003e and\n\\\u003cSLES/OpenSLES_AndroidConfiguration.h\\\u003e.\n\nThis section begins by explaining\n[how to incorporate OpenSL ES into your app](/ndk/guides/audio/opensl/getting-started).\nNext, it explains what you need to know\nabout the Android implementation of OpenSL ES, focusing first on the\n[differences](/ndk/guides/audio/opensl/opensl-for-android) between this implementation and the\nreference specification and then\n[additional extensions](/ndk/guides/audio/opensl/android-extensions)\nfor Android compatibility. This section concludes with some supplemental\n[programming notes](/ndk/guides/audio/opensl/opensl-prog-notes) to ensure proper\nimplementation of OpenSL ES."]]