Как исправить Media Exception на устройстве Nokia (J2me) - PullRequest
3 голосов
/ 13 января 2012

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

Ответы [ 2 ]

4 голосов
/ 13 января 2012

У меня была такая же проблема, и я решил реализовать 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);
2 голосов
/ 13 января 2012

Причина:

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

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

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

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

...