تأخیر صوتی برای توسعه دهندگان برنامه

برای کمترین تأخیر صوتی ممکن، توصیه می‌کنیم از ساز Oboe استفاده کنید.

ابوا

اُبوا از صدای بومی استفاده می‌کند و بر اساس AAudio برای اندروید ۸.۱ (سطح API ۲۷) و بالاتر و OpenSL ES ساخته شده است. برای دستیابی به کمترین تأخیر ممکن برای یک دستگاه، setPerformanceMode(oboe::PerformanceMode::LowLatency) و setSharingMode(oboe::SharingMode::Exclusive) را تنظیم کنید. برای اطلاعات بیشتر در مورد اُبوا، به راهنمای شروع به کار ، README.md و راهنمای کامل مراجعه کنید. برای مشاهده یک برنامه نمونه با استفاده از اُبوا، به برنامه Soundboard مراجعه کنید.

اگر AudioTrack برای ایجاد جریان‌های صوتی خروجی در جاوا برای برنامه‌های حساس به تأخیر استفاده می‌کنید، از حالت PERFORMANCE_MODE_LOW_LATENCY استفاده کنید.

چک لیست اجرا

برای استفاده از صدای بومی اندروید:

  1. اندروید NDK را دانلود و نصب کنید.
  2. راهنمای شروع به کار با اُبوا را دنبال کنید.
  3. تابع‌های setPerformanceMode(oboe::PerformanceMode::LowLatency) و setSharingMode(oboe::SharingMode::Exclusive) را روی سازنده‌ی ابوا فراخوانی کنید.
  4. از اندازه بافر و نرخ نمونه‌برداری بومی توصیه‌شده که توسط android.media.AudioManager.getProperty(java.lang.String) برگردانده می‌شود، استفاده کنید.

  5. کنترل‌کننده‌های فراخوانی برگشتی خود را کوتاه نگه دارید، بدون استفاده‌ی بیش از حد از CPU یا مسدودسازی نامحدود. از وارونگی اولویت خودداری کنید.

  6. استفاده از الگوریتم‌های غیر مسدودکننده را برای ارتباط بین کنترل‌کننده‌های فراخوانی ورودی و خروجی، و بین کنترل‌کننده‌های فراخوانی و بقیه برنامه خود در نظر بگیرید.

اندروید-ndk

اگر در مورد نحوه استفاده از صدای بومی اندروید سؤالی دارید، به گروه بحث android-ndk بپیوندید.

گزارش اشکالات در Oboe

اگر در استفاده از Oboe مشکلی دارید، یک اشکال (bug) ثبت کنید .

ویدیوها