Как исправить Media Exception в устройстве Nokia (J2me)

Я разрабатываю игру в J2ME и использую в игре 4 разных звуковых (миди) файла. Когда я запускаю эту игру на устройстве nokia, она показывает исключение too many players prefetched. Он отлично работает в Samsung. Как это решить?


person Shalini    schedule 13.01.2012    source источник
comment
Вы должны принять ответ, чтобы помочь будущим взглядам на вопрос. @shalini, вы должны нажать на зеленую галочку правильного ответа.   -  person frayab    schedule 26.01.2012


Ответы (2)


У меня была та же проблема, и я решил реализовать PlayerListener и освободить звуки после воспроизведения:

  playbackPlayer = Manager.createPlayer(ttsConnection.getFileUrl());
  PlayerListener pl = new PlayerListener() {

      public void playerUpdate(Player player, String event, Object eventData) {
          if (event.equalsIgnoreCase(PlayerListener.END_OF_MEDIA)
                  || event.equalsIgnoreCase(PlayerListener.STOPPED)) {
              player.close();
          }

      }
  };
  playbackPlayer.addPlayerListener(pl);
person frayab    schedule 13.01.2012

Причина:

Многие устройства имеют ограничения на количество звуков, которые могут находиться в состоянии prefetched одновременно. Это зависит от устройств. Например, на многих S60 это шесть, на многих других устройствах только один.

Возможные решения:

  • Realize игроков, но не prefetch — они будут prefetched автоматически, когда будут играть.

  • используйте PlayerListener, чтобы освободить игроков после их игры, чтобы не держать слишком много в состоянии prefetched.

person COD3BOY    schedule 13.01.2012