عن المشروع

miniaudio هي مكتبة تشغيل والتقاط صوت مكتوبة بلغة C وموزعة كملف مصدر واحد. وفقاً لملف README الخاص بها، لا توجد لها تبعيات تتجاوز المكتبة القياسية، وهي مصممة لتُترجم بشكل نظيف على المترجمات الرئيسية دون تثبيت حزم تطوير إضافية. وهي تستهدف منصات سطح المكتب والهواتف المحمولة الرئيسية. القدرات الرئيسية الموصوفة في README: - نظام بناء بسيط دون تبعيات خارجية. - واجهة برمجية بسيطة ومرنة، تتضمن واجهة منخفضة المستوى للوصول المباشر إلى بيانات الصوت الخام، وواجهة عالية المستوى لإدارة الصوت والخلط والمؤثرات والتوزيع المكاني ثلاثي الأبعاد الاختياري. - نظام عقد مرن للخلط المتقدم ومعالجة المؤثرات. - إدارة الموارد لتحميل ملفات الصوت. - فك الترميز بدعم مدمج لـ WAV وFLAC وMP3، مع إمكانية إضافة مفككات ترميز مخصصة. - الترميز، بصيغة WAV فقط حالياً. - تحويل البيانات، وإعادة أخذ العينات (بما في ذلك إعادة أخذ عينات مخصصة)، وتعيين القنوات. - توليد أساسي للأشكال الموجية والضجيج، بالإضافة إلى مؤثرات ومرشحات أساسية. يشير README إلى دليل برمجة للحصول على وصف أكثر اكتمالاً للميزات. ويتضمن مثالين قصيرين بلغة C: أحدهما يستخدم واجهة المحرك عالية المستوى لتشغيل صوت، والآخر يستخدم واجهات الجهاز والمفكك منخفضة المستوى مع دالة استدعاء للبيانات. البناء: ترجم miniaudio.c مثل أي ملف مصدر آخر، وأدرج miniaudio.h كترويسة عادية. على Windows وmacOS لا حاجة إلى ربط إضافي؛ على Linux وBSD اربط مع -lpthread و-lm؛ على iOS ترجم كـ Objective-C؛ اربط -ldl إذا ظهرت أخطاء dlopen، و-latomic لأخطاء atomic builtin معينة. لا يتم ضمان توافق ABI بين الإصدارات، لذا فإن التكامل المقترح هو إضافتها مباشرة إلى شجرة المصدر. كما أن CMake مدعوم. توجد الوثائق على miniaud.io/docs وفي أعلى miniaudio.h، الذي يصفه README بأنه المصدر الأكثر تحديثاً والموثوق؛ وتُولَّد الوثائق الأخرى منه. المنصات المدعومة المذكورة: Windows؛ macOS وiOS؛ Linux؛ FreeBSD وOpenBSD وNetBSD؛ Android؛ Raspberry Pi؛ وEmscripten/HTML5. يمكن دعم منصات أخرى عبر خلفية مخصصة دون تعديل مصدر miniaudio، كما هو موضح في مثال custom_backend. الخلفيات المذكورة: WASAPI وDirectSound وWinMM وCore Audio وALSA وPulseAudio وJACK وsndio وaudio(4) وOSS وAAudio وOpenSL|ES وWeb Audio وNull (صمت) وCustom. تُغطى معلومات الأمان بملف سياسة أمان منفصل. الترخيص هو اختيار بين الملكية العامة أو MIT No Attribution.