برای کمترین تأخیر ممکن در صدا، توصیه میکنیم از اُبوا استفاده کنید.
اُبوا
Oboe از صدای بومی استفاده میکند و برپایه AAudio برای Android نسخه ۸.۱ (سطح API
۲۷) و بالاتر و OpenSL ES ساخته شده است. برای دستیابی به کمترین تأخیر ممکن برای یک
دستگاه، setPerformanceMode(oboe::PerformanceMode::LowLatency) و
setSharingMode(oboe::SharingMode::Exclusive) را تنظیم کنید. برای اطلاعات بیشتر درباره
Oboe، به راهنمای آغاز به کار، README.md، و راهنمای
کامل مراجعه کنید. برای مشاهده برنامه نمونهای که از Oboe استفاده میکند، به برنامه میز صدا مراجعه کنید.
اگر از AudioTrack برای ایجاد جاریسازیهای صوتی برونداد در جاوا برای
برنامههای حساس به تأخیر استفاده میکنید، از حالت PERFORMANCE_MODE_LOW_LATENCY استفاده کنید.
بازبینه پیادهسازی
برای استفاده از صدای بومی Android:
- Android NDK را بارگیری و نصب کنید.
- راهنمای شروع به کار برای Oboe را دنبال کنید.
- با
setPerformanceMode(oboe::PerformanceMode::LowLatency)وsetSharingMode(oboe::SharingMode::Exclusive)در سازنده ابوا تماس بگیر. از اندازه میانگیر بومی و نرخ نمونهبرداری توصیهشده که توسط
android.media.AudioManager.getProperty(java.lang.String)برگردانده شده است استفاده کنید.کارپردازهای تماس برگشتی را کوتاه نگه دارید، بدون استفاده از CPU بهصورت انفجاری یا مسدودسازی نامحدود. از وارونگی اولویت اجتناب کنید.
برای ارتباط بین کنترلکنندههای ورودی و خروجی و بین کنترلکنندههای برگشتی و بقیه برنامهتان، از الگوریتمهای غیرمسدودکننده استفاده کنید.
android-ndk
اگر درباره نحوه استفاده از صدای بومی Android سؤالی دارید، به گروه بحث android-ndk بپیوندید.
گزارش اشکالات در Oboe
اگر در استفاده از Oboe با مشکل مواجه شدید، گزارش اشکال ثبت کنید.
ویدیوها
- شروع کار با ابوا
- صدای با تأخیر کم - چون گوشهایتان ارزشش را دارد (نشست توسعهدهندگان Android 2018)
- برنده شدن در Android - نحوه بهینهسازی برنامه صوتی Android (چالش توسعهدهندگان Android در سال ۲۰۱۸)
- صدای با عملکرد بالا در Android (Google I/O 2013)
- ساختن تجربههای چندرسانهای عالی در Android (Google I/O 2014)
- تأخیر صدا: اندازههای میانگیری (۱۰۰ روز با توسعهدهندگان Google)