如何修复诺基亚设备中的媒体异常(J2me)

时间:2012-01-13 09:39:05

标签: java java-me media-player nokia

我正在J2ME中开发游戏,我在游戏中使用4种不同的声音(midi)文件。当我在 nokia 设备上运行此游戏时,它会显示too many players prefetched异常。它在三星中运行良好。如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

我遇到了同样的问题并且解决了实现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);

答案 1 :(得分:2)

原因:

  

许多设备同时限制了prefetched状态下的声音数量。这与设备不同。例如,在许多S60上,它是六个,在许多其他设备上,它只有一个。

可能的解决方案:

  • Realize玩家,但不prefetch他们 - 他们玩游戏时会自动prefetched

  • 在玩家玩游戏后使用PlayerListener释放玩家,以避免在prefetched状态下持有过多玩家。