好吧,新手学习中,根据书籍《Head Java 1St》代码弄了一个
minimusciplayer,很简单的玩意,只能发一个音
即使是完全照抄代码,还是出问题了,这个Sequencer not open 是咋回事?
用的是7u21,书上用的是 5.0
参看了java se 6.0 的API,没发现怎么Open啊。

解决方案 »

  1.   


    import javax.sound.midi.*;
    public class MiniMusicPlayer{
    public static void main(String[] args){
    MiniMusicPlayer miniplayer = new MiniMusicPlayer();
    miniplayer.play();
    } public void play(){
    try {
    Sequencer player = MidiSystem.getSequencer();
    Sequence seq = new Sequence(Sequence.PPQ,4);
    Track track = seq.createTrack();
    ShortMessage a  = new ShortMessage();
    a.setMessage(144,1,44,100);
    MidiEvent noteon =new MidiEvent(a,1);
    track.add(noteon); ShortMessage b = new ShortMessage();
    b.setMessage(128,1,44,100);
    MidiEvent noteoff = new MidiEvent(b,16);
    track.add(noteoff); player.setSequence(seq); player.start();
    }catch(Exception ex){
    ex.printStackTrace();
    }
    }

    }