我正在J2ME中开发游戏,我在游戏中使用4种不同的声音(midi)文件。当我在 nokia 设备上运行此游戏时,它会显示too many players prefetched
异常。它在三星中运行良好。如何解决这个问题?
答案 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
状态下持有过多玩家。