我正在尝试玩一点,javax.sound.midi
但遇到了一个问题 - 我听不到声音。顺便说一句,我安装了 soundbank。代码如下所示:
public class MainClass {
public static void main(String[] args) {
Synthesizer synth = null;
try {
synth = MidiSystem.getSynthesizer();
synth.open();
} catch (MidiUnavailableException e) {
e.printStackTrace();
}
final MidiChannel[] mc = synth.getChannels();
System.out.println(mc.length);
Soundbank sB = synth.getDefaultSoundbank();
Instrument[] i = sB.getInstruments();
synth.loadInstrument(i[0]);
mc[5].noteOn(60, 600);
System.out.println("The SoundBank might be null - " + sB.equals(null));
System.out.println("The Synthesizer is open - " + synth.isOpen());
System.out.println(i[0]);
System.out.println(mc[0]);
}
}
System.out.println 行的结果如下所示:
The SoundBank might be null - false
The Synthesizer is open - true
Instrument: Piano 1 bank #0 preset #0
com.sun.media.sound.SoftChannelProxy@7d132f26
有什么想法为什么不播放声音(我尝试了不同的乐器,不同的音符,速度和 midichannels - 没有效果)?