يتجاوز الحد الأقصى لعدد مثيلات OpenCore في Android

StackOverflow https://stackoverflow.com/questions/2432191

  •  19-09-2019
  •  | 
  •  

سؤال

عندما أقوم بتشغيل طلبي، فهذا يظهر "تجاوز الحد الأقصى لعدد مثيلات Opencore". كيفية حل هذا الخطأ. شكرا لك

هل كانت مفيدة؟

المحلول

يحدث ما سبق إذا كانت مفثابة مثيلات متعددة من MediaPlayer.

يجب أن تقرأ عنه دورة حياة مشغل الوسائط والدول المختلفة

  • تحديد مشغل وسائط واحد، في نطاق متغير الفئة على سبيل المثال
  • Instantiate IT في طريقة OnCreate وفي أساليب OnResume كما هو مطلوب
  • في وظيفتك لتشغيل الصوت استخدام الأسلوب .RESET للحصول على مشغل الوسائط للذهاب إلى حالة الخمول
  • استخدام .SetDatasource أو ما يعادل الحصول عليه في حالة تهيئة
  • ثم .prepare للحالة المعدة
  • ثم .start لتشغيل الصوت
  • stop () إلخ لمنع ذلك
  • عند الانتهاء من استخدام وظيفة .release لإصدار مورد الصوت.

يتم تعريف مشغل الوسائط على أنه متغير نطاق فئة ومفانقته في طريقة OnCheate ()

    private void startPlayingAudio()
{
    try {

        Uri path1 = Uri.parse("android.resource://com.yourpackagehere./" + R.raw.beep);         
        mp.reset();  // reset to idle state
        mp.setDataSource(this, path1); // from idle to initialised state

        mp.prepare();

        mp.start();         
    } catch (Exception ioe) {
        Log.e(LOG_TAG, "Error playing the beep sound");
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top