প্রকল্প সম্পর্কে
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-ও পরিচালনা করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.