Java me Midi声音文件响应比wave声音文件响应慢
我在游戏中使用midi文件作为背景声音。我正在创建和播放声音,如下所示:Java me Midi声音文件响应比wave声音文件响应慢,java-me,Java Me,我在游戏中使用midi文件作为背景声音。我正在创建和播放声音,如下所示: InputStream is = this.getClass().getResourceAsStream( "/sound/" + bg.mid); IngameSound = Manager.createPlayer(is, "audio/midi"); IngameSound.setLoopCount(-1); IngameSound.start(
InputStream is = this.getClass().getResourceAsStream(
"/sound/" + bg.mid);
IngameSound = Manager.createPlayer(is, "audio/midi");
IngameSound.setLoopCount(-1);
IngameSound.start();
使用此代码,游戏玩得很慢。如果使用wave sound文件,那么游戏就可以了。如何使用midi文件使游戏顺利进行?通过J2ME的声音性能通常高度依赖于您使用的设备,因此在一个设备上运行良好的功能在另一个设备上几乎无法使用
但是,您可以尝试做的一件事是在需要播放声音之前(通常是在加载某个级别的动画期间)预加载和/或预回迁所有声音,将所有播放器存储在一个数组中,并在需要操纵它们时告诉它们启动/停止/重置。在过去,我经常发现声音对性能的最大影响是访问硬件资源的初始请求,因此尽早执行所有硬件请求通常是有益的。如果MIDI播放比WAV播放慢,那么您一定使用了一些非常复杂的MIDI。可能是使用了很多GM标准甚至不支持的命令。(寻找专门为JavaME优化的MIDI文件是个好主意。IndieGameMusic.com上有很多这样的文件)。如果你把你的MIDI上传到某个地方,我可以看一看。用其他MIDI文件替换MIDI文件可能会提高游戏速度,但在没有声音的情况下不能达到这个速度。