我制作了一个使用 java 声音 API 中的 MIDI 包合成声音的 java 程序,但是,当我将它导出到 .jar 文件时,播放的声音与我在 eclipse 中运行它时的声音完全不同。有谁知道它为什么这样做或如何解决这个问题?
可以在此处找到乐器列表:http ://www.hittrax.com.au/images/artists/gmgs.pdf
下面是我的一段代码
try {
Synthesizer synth = MidiSystem.getSynthesizer();
synth.open();
MidiChannel[] channels = synth.getChannels();
channels[0].programChange(123); // Set the instrument to be played (integer between 0 and 127)
channels[0].noteOn(60, 80); // Play Middle C
Thread.sleep(duration);
channels[0].noteOff(60);
Thread.sleep(500);
synth.close();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (MidiUnavailableException e) {
e.printStackTrace();
}
下图显示了我录制时的音频,第一个是 eclipse 上的声音,第二个是导出到 .jar 时的声音