问一个java模拟钢琴音的问题
关键代码如下:
protected void open(String instrumentName) {
try{
if(synthesizer == null){
synthesizer = MidiSystem.getSynthesizer();
}
if(sequencer == null){
sequencer = MidiSystem.getSequencer();
sequence = new Sequence(Sequence.PPQ, 10);
}
sequencer.open();
Soundbank sb = synthesizer.getDefaultSoundbank();
if(sb != null){
instruments = sb.getInstruments();
for(Instrument instrument : instruments){
// System.out.println(instrument.getName());
if(instrumentName.equalsIgnoreCase(instrument.getName())){
synthesizer.loadInstrument(instrument);
break;
}
}
}
midiChannels = synthesizer.getChannels();
}catch(Exception e){
log.error("音频初始化异常:", e);
}
}
public void playOn(int noteNumber) {
midiChannels[0].noteOn(noteNumber, 64);
}
我在调用open方法,初始化了midiChannels后,再调用playOn(60);现在问题是,系统既没有任何声音,也没有异常,我想知道这是为什么,是不是有什么没有初始化后,还是硬件的支持有问题?
------解决方案--------------------
帮顶,没用过