অ্যাপ ডেভেলপারদের জন্য অডিও লেটেন্সি

সর্বনিম্ন অডিও ল্যাটেন্সির জন্য, আমরা আপনাকে ওবো ব্যবহার করার পরামর্শ দিই।

ওবো

Oboe নেটিভ অডিও ব্যবহার করে এবং এটি AAudio for Android 8.1 (API লেভেল 27) ও তার উচ্চতর সংস্করণ এবং OpenSL ES-এর উপর ভিত্তি করে নির্মিত। কোনো ডিভাইসের জন্য সর্বনিম্ন সম্ভাব্য ল্যাটেন্সি পেতে, setPerformanceMode(oboe::PerformanceMode::LowLatency) এবং setSharingMode(oboe::SharingMode::Exclusive) সেট করুন। Oboe সম্পর্কে আরও তথ্যের জন্য, Getting started গাইড , README.md এবং Full guide দেখুন। Oboe ব্যবহার করে তৈরি একটি নমুনা অ্যাপের জন্য Soundboard অ্যাপটি দেখুন।

আপনি যদি লেটেন্সি-সংবেদনশীল অ্যাপের জন্য জাভাতে আউটপুট অডিও স্ট্রিম তৈরি করতে AudioTrack ব্যবহার করেন, তাহলে PERFORMANCE_MODE_LOW_LATENCY মোডটি ব্যবহার করুন।

বাস্তবায়ন চেকলিস্ট

অ্যান্ড্রয়েড নেটিভ অডিও ব্যবহার করতে:

  1. অ্যান্ড্রয়েড এনডিকে ডাউনলোড ও ইনস্টল করুন।
  2. ওবো ব্যবহারের জন্য প্রারম্ভিক নির্দেশিকা অনুসরণ করুন।
  3. Oboe বিল্ডারে setPerformanceMode(oboe::PerformanceMode::LowLatency) এবং setSharingMode(oboe::SharingMode::Exclusive) কল করুন।
  4. android.media.AudioManager.getProperty(java.lang.String) দ্বারা ফেরত আসা প্রস্তাবিত নেটিভ বাফার সাইজ এবং স্যাম্পল রেট ব্যবহার করুন।

  5. আপনার কলব্যাক হ্যান্ডলারগুলো সংক্ষিপ্ত রাখুন এবং এতে যেন হঠাৎ করে সিপিইউ ব্যবহার বেড়ে না যায় বা এটি অনিয়ন্ত্রিতভাবে ব্লক না হয়। প্রায়োরিটি ইনভার্সন পরিহার করুন।

  6. ইনপুট ও আউটপুট কলব্যাক হ্যান্ডলারের মধ্যে এবং কলব্যাক হ্যান্ডলার ও আপনার অ্যাপ্লিকেশনের বাকি অংশের মধ্যে যোগাযোগের জন্য নন-ব্লকিং অ্যালগরিদম ব্যবহার করার কথা বিবেচনা করুন।

অ্যান্ড্রয়েড-এনডিকে

অ্যান্ড্রয়েড নেটিভ অডিও কীভাবে ব্যবহার করবেন সে সম্পর্কে আপনার যদি প্রশ্ন থাকে, তাহলে android-ndk আলোচনা গ্রুপে যোগ দিন।

ওবোতে বাগ রিপোর্ট করুন

ওবো ব্যবহারে কোনো সমস্যা হলে, একটি বাগ রিপোর্ট করুন

ভিডিও