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