يتجاوز الحد الأقصى لعدد مثيلات OpenCore في Android
-
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");
}
}
لا تنتمي إلى StackOverflow