我制作了一个使用Java声音API中的MIDI包合成声音的程序,但是当我将其导出为.jar文件时,播放的声音与在Eclipse中运行时的声音相比有很大的不同。有人知道为什么会这样或如何解决这个问题吗?
可以在这里找到乐器列表:http://www.hittrax.com.au/images/artists/gmgs.pdf 以下是我的代码部分:
下面的图片展示了我录制音频时的情况,第一个是在Eclipse中应该有的声音,第二个是导出为.jar后的声音。
可以在这里找到乐器列表: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后的声音。
![声波](https://istack.dev59.com/zjeFe.webp)
channels[0]
和channels[channel]
是复制粘贴的笔误吗? - Kayaman