先附上代码
import javax.sound.midi.*;
public class MiniMusicPlayer2 implements ControllerEventListener{
public static void main(String[] args){
MiniMusicPlayer2 mini=new MiniMusicPlayer2();
mini.go();
}
public void go(){
try{
Sequencer sequencer=MidiSystem.getSequencer();
sequencer.open();
int[] eventsIWant={127};
sequencer.addControllerEventListener(this,eventsIWant);
Sequence seq=new Sequence(Sequence.PPQ,4);
Track track=seq.createTrack();
for(int i=5;i<61;i+=4){
track.add(makeEvent(144,1,i,100,i));
track.add(makeEvent(176,1,127,0,i));
track.add(makeEvent(128,1,i,100,i+2));
}
sequencer.setSequence(seq);
sequencer.setTempoInBPM(220);
sequencer.start();
}catch(Exception ex){ex.printStackTrace();}
}
public void controlChange(ShortMessage event){
System.out.println("la");
}
public static MidiEvent makeEvent(int comd,int chan,int one,int two,int tick){
MidiEvent event=null;
try{ShortMessage a=new ShortMessage();
a.setMessage(comd,chan,one,two);
event=new MidiEvent(a,tick);
}catch(Exception e){}
return event;
}
}
报错为MiniMusicPlayer2.java:2: 错误: MiniMusicPlayer2不是抽象的, 并且未覆盖ControllerE
ventListener中的抽象方法controlChange(ShortMessage)
public class MiniMusicPlayer2 implements ControllerEventListener{
^
1 个错误
我看了很多解答,大多是讲某个大小写问题,但是我是照书打的,不知道错在哪。
顺带问一下,有没有教如何使用java API索引的网址和教学博客,我觉得自己用这个API好多都不知道怎么查