تعطل التطبيق مع استثناء عند استخدام JAVAX.MICROEDITITION.MEDIA.Player

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

  •  12-09-2019
  •  | 
  •  

سؤال

لدي تطبيق يقوم بمعالجة البيانات من Bluetooth وإرساله إلى خدمة الويب. في الآونة الأخيرة كان هناك طلب لإضافة أصوات إلى التطبيق. الآن عندما يقوم التطبيق بتعيين دفعات البيانات واللاعب يلعب باستمرار بعد بضع ثوان، أحصل على استثناء "التطبيق". ثم يتم إنهاء العملية. في السجلات، يمكنني أن أرى الكثير من استثناء القسري الذي سجله هذا الاستثناء.

يتم تشغيل الأصوات في مؤشر ترابط منفصل. إذا لم يلعب التطبيق أصوات أو يلعب أصوات قصيرة - كل شيء يعمل بشكل جيد. هل هناك أي طريقة لتجنب حدوث هذا الاستثناء؟ لماذا يحدث؟

InputStream mediaStream = null;
try {
    mediaStream = getClass().getResourceAsStream(relativePath);
    getLogger().log("setting player _ " + _audioType);
    setPlayer(Manager.createPlayer(mediaStream, _audioType));
    _currentPlayer.addPlayerListener(this);
    _currentPlayer.setLoopCount(1);
    _currentPlayer.realize();
    VolumeControl vc = (VolumeControl) _currentPlayer
            .getControl("VolumeControl");
    if (vc != null) {
        vc.setLevel(_voumeLevel);
    }
    _currentPlayer.prefetch();
    _currentPlayer.start();
} catch (Exception e) {
}

(crossposted من منتديات BB)

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

المحلول

تم حلها عن طريق تنفيذ PLAYERMANAGER الخاص بي، والتي، التي تعمل في مؤشر ترابط منفصل سوف تلعب العنصر في وضع قائمة الانتظار بدلا من العديد من المواضيع باستخدام تطبيق اللاعب الداخلي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top