للحصول على أقل وقت استجابة ممكن للصوت، ننصحك باستخدام Oboe.
مزمار
يستخدم Oboe واجهة الصوت الأصلية ويتم إنشاؤه
استنادًا إلى AAudio لنظام التشغيل Android 8.1 والإصدارات الأحدث وOpenSL ES للإصدارات القديمة من Android. لتحقيق أدنى وقت ممكن
للاستجابة على الجهاز، اضبط setPerformanceMode(oboe::PerformanceMode::LowLatency)
وsetSharingMode(oboe::SharingMode::Exclusive)
.
اطّلِع على دليل البدء،
README.md
،
والدليل الكامل للحصول على المزيد من
المعلومات عن Oboe. يمكنك الرجوع إلى تطبيق Soundboard
للاطّلاع على نموذج تطبيق يستخدم Oboe.
ملاحظة: إذا كنت تستخدِم AudioTrack
لإنشاء مصادر بث صوتي في Java للتطبيقات الحسّاسة للوقت المستغرَق في المعالجة، استخدِم الوضع PERFORMANCE_MODE_LOW_LATENCY
.
قائمة التحقّق من التنفيذ
لاستخدام ميزة "الصوت الأصلي" في Android، اتّبِع الخطوات التالية:
- نزِّل حزمة تطوير البرامج (NDK) لنظام التشغيل Android وثبِّتها.
- اتّبِع دليل البدء لتطبيق Oboe.
-
يُرجى الاتصال بالرقمين
setPerformanceMode(oboe::PerformanceMode::LowLatency)
وsetSharingMode(oboe::SharingMode::Exclusive)
على أداة إنشاء Oboe. -
استخدِم حجم المخزن المؤقت الأصلي المقترَح ومعدّل أخذ العينات الذي يعرضه الإجراء
android.media.AudioManager.getProperty(java.lang.String).
ملاحظة: يجب أيضًا استخدام حجم المخزن المؤقت ومعدل أخذ العينات نفسهما للبيانات المُدخلة.
- يجب أن تكون معالجات عمليات الاستدعاء قصيرة، بدون استخدام متقطّع لوحدة المعالجة المركزية أو حظر غير محدود. تجنَّب عكس الأولوية.
- ننصحك باستخدام خوارزميات غير محظورة للتواصل بين معالجات استدعاءات الإدخال والإخراج، وبين معالجات استدعاءات الإدخال والإخراج وبقية أجزاء تطبيقك.
مراجع أخرى
source.android.com
تم تصميم الموقع الإلكتروني source.android.com بشكل أساسي للمصنّعين الأصليين للأجهزة الذين ينشئون أجهزة Android، ومورّدي المنظومة على الرقاقة الذين يوفّرون المكوّنات لهؤلاء المصنّعين الأصليين.
ومع ذلك، تتوفّر على هذا الموقع الإلكتروني مجموعة كبيرة من المعلومات المفيدة حول وقت الاستجابة، لذلك ننصحك بمراجعته. اطّلِع على المقالات في وقت استجابة الصوت.
android-ndk
إذا كانت لديك أسئلة حول كيفية استخدام واجهة Android الصوتية الأصلية، يمكنك طرحها في مجموعة المناقشة android-ndk.
الإبلاغ عن أخطاء في Oboe
إذا واجهت مشاكل في استخدام Oboe، يمكنك إبلاغنا بأي أخطاء.
الفيديوهات
- بدء استخدام Oboe
- صوت بوقت استجابة منخفض: لأنّ أذنيك تستحق ذلك
- مؤتمر Android Dev Summit لعام 2018
- تحقيق النجاح على Android: كيفية تحسين تطبيق صوتي على Android
- تحدّي مطوّري تطبيقات Android لعام 2018
- صوت عالي الأداء على Android (مؤتمر Google I/O لعام 2013)
- يتناول الفيديو بأكمله وقت الاستجابة.
- توفير تجارب رائعة للوسائط المتعددة على Android (مؤتمر Google I/O لعام 2014)
- تتناول الدقائق الـ 14 الأولى الصوت بشكل عام ووقت استجابة الإدخال على وجه الخصوص.
- وقت استجابة الصوت: أحجام المخزن المؤقت (100 يوم من تطوير Google)
- يوضّح هذا القسم العلاقة بين وقت استجابة الصوت وحجم المخزن المؤقت وجدولة المهام.