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

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

اُبوا

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

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

بازبینه پیاده‌سازی

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

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

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

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

android-ndk

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

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

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

ویدیوها