সবচেয়ে কম অডিও লেটেন্সির জন্য, আমরা আপনাকে Oboe ব্যবহার করার সাজেশন দিই।
ওবাও
Oboe নেটিভ অডিও ব্যবহার করে এবং Android 8.1 (API লেভেল
27) ও এর পরের যেকোনও ভার্সন এবং OpenSL ES-এর জন্য AAudio-এর উপর ভিত্তি করে তৈরি করা হয়েছে। কোনও ডিভাইসের জন্য সর্বনিম্ন সম্ভাব্য লেটেন্সি পেতে, setPerformanceMode(oboe::PerformanceMode::LowLatency) এবং
setSharingMode(oboe::SharingMode::Exclusive) সেট করুন। Oboe সম্পর্কে আরও তথ্যের জন্য, শুরু করার নির্দেশিকা, README.md এবং সম্পূর্ণ
নির্দেশিকা দেখুন। Oboe ব্যবহার করে তৈরি করা নমুনা অ্যাপের জন্য Soundboard অ্যাপ দেখুন।
লেটেন্সি-সংবেদনশীল অ্যাপের জন্য Java-তে আউটপুট অডিও স্ট্রিম তৈরি করতে
AudioTrack ব্যবহার করলে, PERFORMANCE_MODE_LOW_LATENCY মোড ব্যবহার করুন।
প্রয়োগ সংক্রান্ত চেকলিস্ট
Android নেটিভ অডিও ব্যবহার করতে:
- Android NDK ডাউনলোড ও ইনস্টল করুন।
- Oboe-এর জন্য শুরু করার নির্দেশিকা অনুসরণ করুন।
- Oboe Builder-এ
setPerformanceMode(oboe::PerformanceMode::LowLatency)ওsetSharingMode(oboe::SharingMode::Exclusive)নম্বরে কল করুন। android.media.AudioManager.getProperty(java.lang.String)-এর মাধ্যমে ফেরত আসা সাজেস্ট করা নেটিভ বাফার সাইজ ও স্যাম্পেল রেট ব্যবহার করুন।আপনার কলব্যাক হ্যান্ডলার ছোট রাখুন, যাতে CPU-এর ব্যবহার খুব বেশি না হয় বা আনবাউন্ডেড ব্লকিং না হয়। অগ্রাধিকার ইনভার্সন এড়িয়ে চলুন।
ইনপুট ও আউটপুট কলব্যাক হ্যান্ডলার এবং কলব্যাক হ্যান্ডলার ও আপনার অ্যাপ্লিকেশনের বাকি অংশের মধ্যে যোগাযোগ করার জন্য নন-ব্লকিং অ্যালগরিদম ব্যবহার করার কথা বিবেচনা করুন।
android-ndk
Android নেটিভ অডিও কীভাবে ব্যবহার করতে হয় সেই সম্পর্কে প্রশ্ন থাকলে, android-ndk আলোচনা গ্রুপে যোগ দিন।
Oboe-তে বাগ সম্পর্কে অভিযোগ জানান
Oboe ব্যবহার করার সময় কোনও সমস্যা হলে, বাগ সংক্রান্ত সমস্যা জমা দিন।
ভিডিও
- Oboe ব্যবহার করা শুরু করা
- লো লেটেন্সি অডিও - কারণ আপনার কান এর উপযুক্ত (Android Dev Summit 2018)
- Winning on Android - How to optimize an Android audio app (Android Developer Challenge 2018)
- Android-এ হাই পারফর্ম্যান্স অডিও (Google I/O 2013)
- Android-এ দুর্দান্ত মাল্টিমিডিয়া অভিজ্ঞতা তৈরি করা (Google I/O 2014)
- অডিও ল্যাটেন্সি: বাফার সাইজ (100 Days of Google Dev)