منصوبے کے بارے میں

react-native-audio-api ایک آڈیو انجن ہے جو React Native کے لیے Web Audio API کی تفصیلات کے گرد بنایا گیا ہے۔ اس کا مقصد ڈویلپرز کو React Native ماحول میں آڈیو بنانے اور تبدیل کرنے کی سہولت دینا ہے، بالکل اسی طرح جیسے براؤزرز میں ہوتا ہے، اور مانوس آڈیو-گراف تصورات کا استعمال کرتے ہوئے۔ README میں بیان کردہ اہم صلاحیتیں: - Web Audio API کی تفصیلات کے مطابق آڈیو گراف کنٹرول، اور ایک شائع شدہ کوریج صفحہ جو دستاویز کرتا ہے کہ تفصیلات کا کتنا حصہ نافذ کیا گیا ہے۔ - "audio tag" طرز کی API کے ذریعے پلے بیک اور بفرنگ، تاکہ سادہ پلے بیک کے لیے خود سے آڈیو گراف بنانے کی ضرورت نہ ہو۔ - قابلِ ترتیب فارمیٹ، معیار اور دیگر پیرامیٹرز کے ساتھ فائل میں ریکارڈنگ، جو آڈیو گراف کے ساتھ مربوط ہے، نیز ریکارڈنگ روٹیشن جو ریکارڈنگز کو چھوٹے حصوں میں تقسیم کرتی ہے۔ - پلے بیک اور ریکارڈنگ کی اطلاعات، جو نوٹیفکیشن سینٹر یا لاک اسکرین سے کنٹرول کی جا سکتی ہیں، اور حسبِ ضرورت نوٹیفکیشن لے آؤٹ کی سہولت بھی۔ - مائیکروفون ان پٹ، جس سے ڈیوائس یا منسلک ڈیوائس کی آڈیو کو گراف میں روٹ کیا جا سکتا ہے یا اسٹریم کیا جا سکتا ہے۔ - m4a/mp4/aac/ogg/opus کے لیے ڈیکوڈنگ سپورٹ، نیز لائیو یا پہلے سے ریکارڈ شدہ ذرائع کے لیے HLS اسٹریمنگ۔ - آڈیو نوڈز کا ایک مجموعہ، جس میں غیر خطی ڈسٹورشن کے لیے WaveShaperNode، حسبِ ضرورت ڈیجیٹل فلٹرز کے لیے IIRFilterNode، ریورب اور مقامی اثرات کے لیے ConvolverNode، اور اپنے نوڈز لکھنے کے لیے ایک حسبِ ضرورت آڈیو پروسیسر شامل ہے۔ - JS Audio Worklets (V1 اور V2) جو آڈیو تھریڈ پر حسبِ ضرورت پروسیسنگ لاجک چلانے اور UI تھریڈ کے ساتھ ہم آہنگی کے لیے استعمال ہوتے ہیں۔ - یوٹیلیٹی اور ڈیکوڈنگ ماڈیولز جو پہلے AudioContext بنائے بغیر کام کرتے ہیں۔ روڈ میپ میں ذکر کردہ منصوبہ بند کام میں DynamicCompressorNode، MIDI سپورٹ، مقامی آڈیو اور سسٹم پر مبنی نوائز کینسیلیشن شامل ہیں۔ تنصیب کی ہدایات پروجیکٹ کی Getting Started دستاویزات میں موجود ہیں۔ ایک مثال ایپلیکیشن apps/common-app کے تحت ہے، اور ایک الگ مثال پروجیکٹ بھی دستیاب ہے تاکہ API کو کسی حقیقی ایپ میں ضم کیے بغیر آزما سکیں۔ یہ لائبریری MIT لائسنس کے تحت ہے؛ کچھ سورس کوڈ WebKit سے ماخوذ ہے اور FFmpeg بائنریز استعمال کرتا ہے، جس کی تفصیلات THIRD_PARTY.md میں موجود ہیں۔ یہ پروجیکٹ Software Mansion کے زیرِ انتظام ہے، جو بحث اور رائے کے لیے ایک کمیونٹی Discord بھی چلاتا ہے۔