Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java me Midi声音文件响应比wave声音文件响应慢_Java Me - Fatal编程技术网

Java me Midi声音文件响应比wave声音文件响应慢

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(

我在游戏中使用midi文件作为背景声音。我正在创建和播放声音,如下所示:

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文件可能会提高游戏速度,但在没有声音的情况下不能达到这个速度。