وقت استجابة الصوت لمطوّري التطبيقات

للحصول على أقل وقت استجابة ممكن للصوت، ننصحك باستخدام 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، اتّبِع الخطوات التالية:

  1. نزِّل حزمة تطوير البرامج (NDK) لنظام التشغيل Android وثبِّتها.
  2. اتّبِع دليل البدء لتطبيق Oboe.
  3. يُرجى الاتصال بالرقمين setPerformanceMode(oboe::PerformanceMode::LowLatency) وsetSharingMode(oboe::SharingMode::Exclusive) على أداة إنشاء Oboe.
  4. استخدِم حجم المخزن المؤقت الأصلي المقترَح ومعدّل أخذ العينات الذي يعرضه الإجراء android.media.AudioManager.getProperty(java.lang.String).

    ملاحظة: يجب أيضًا استخدام حجم المخزن المؤقت ومعدل أخذ العينات نفسهما للبيانات المُدخلة.

  5. يجب أن تكون معالجات عمليات الاستدعاء قصيرة، بدون استخدام متقطّع لوحدة المعالجة المركزية أو حظر غير محدود. تجنَّب عكس الأولوية.
  6. ننصحك باستخدام خوارزميات غير محظورة للتواصل بين معالجات استدعاءات الإدخال والإخراج، وبين معالجات استدعاءات الإدخال والإخراج وبقية أجزاء تطبيقك.

مراجع أخرى

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)
يوضّح هذا القسم العلاقة بين وقت استجابة الصوت وحجم المخزن المؤقت وجدولة المهام.