OpenSL ES

দ্রষ্টব্য: বিকাশকারীদের ওপেন সোর্স Oboe লাইব্রেরি ব্যবহার করার কথা বিবেচনা করা উচিত যা GitHub- এ উপলব্ধ। Oboe হল একটি C++ র‍্যাপার যা একটি API প্রদান করে যা AAudio-এর সাথে সাদৃশ্যপূর্ণ। AAudio উপলব্ধ থাকলে Oboe AAudio-কে কল করে এবং AAudio উপলব্ধ না হলে OpenSL ES-এ ফিরে আসে৷

NDK প্যাকেজটিতে Khronos Group থেকে OpenSL ES™ 1.0.1 API স্পেসিফিকেশনের একটি Android-নির্দিষ্ট বাস্তবায়ন অন্তর্ভুক্ত রয়েছে। আপনি সিন্থেসাইজার, ডিজিটাল অডিও ওয়ার্কস্টেশন, কারাওকে, গেম বা অন্যান্য রিয়েল-টাইম অ্যাপ লিখছেন কিনা এই লাইব্রেরিটি আপনাকে উচ্চ-কর্মক্ষমতা, কম লেটেন্সি অডিও প্রয়োগ করতে C বা C++ ব্যবহার করতে দেয়।

OpenSL ES™ স্ট্যান্ডার্ড অ্যান্ড্রয়েড জাভা ফ্রেমওয়ার্কের MediaPlayer এবং MediaRecorder API-এর মতো অডিও বৈশিষ্ট্যগুলিকে প্রকাশ করে৷ OpenSL ES একটি C ভাষা ইন্টারফেসের পাশাপাশি C++ বাইন্ডিং প্রদান করে, যা আপনাকে যেকোন ভাষায় লিখিত কোড থেকে API কল করতে দেয়।

আপনার অ্যাপের অডিও পারফরম্যান্সের বিকাশ এবং উন্নতিতে সাহায্য করার জন্য OpenSL ES APIগুলি উপলব্ধ।

স্ট্যান্ডার্ড OpenSL ES হেডার <SLES/OpenSLES.h> এবং <SLES/OpenSLES_Platform.h> অডিও ইনপুট এবং আউটপুট অনুমোদন করে। অতিরিক্ত Android-নির্দিষ্ট কার্যকারিতা <SLES/OpenSLES_Android.h> এবং <SLES/OpenSLES_AndroidConfiguration.h>-এ রয়েছে।

আপনার অ্যাপে OpenSL ES কীভাবে অন্তর্ভুক্ত করবেন তা ব্যাখ্যা করে এই বিভাগটি শুরু হয়। এর পরে, এটি ব্যাখ্যা করে যে OpenSL ES-এর অ্যান্ড্রয়েড বাস্তবায়ন সম্পর্কে আপনার কী জানা দরকার, প্রথমে এই বাস্তবায়ন এবং রেফারেন্স স্পেসিফিকেশনের মধ্যে পার্থক্য এবং তারপরে অ্যান্ড্রয়েড সামঞ্জস্যের জন্য অতিরিক্ত এক্সটেনশনগুলিতে ফোকাস করে৷ OpenSL ES এর যথাযথ বাস্তবায়ন নিশ্চিত করার জন্য কিছু সম্পূরক প্রোগ্রামিং নোট দিয়ে এই বিভাগটি শেষ হয়েছে।