首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

问一个java模拟钢琴音的有关问题

2012-01-24 
问一个java模拟钢琴音的问题关键代码如下:protected void open(String instrumentName) {try{if(synthesiz

问一个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);现在问题是,系统既没有任何声音,也没有异常,我想知道这是为什么,是不是有什么没有初始化后,还是硬件的支持有问题?


[解决办法]
帮顶,没用过

热点排行