星辰an 发表于 2021-5-19 21:31

帮看一下怎么才能弄出

这是代码,大佬们帮看一下,谢谢啦{:1_919:} {:1_919:}
package FirstHeadJava;

import javax.sound.midi.*;

public class MiniMusicCmdLine{
    public static void main(String[] args) {
      MiniMusicCmdLine mini = new MiniMusicCmdLine();
      if(args.length<2){
            System.out.println("Don't forget the instrument and note args");
      }else {
             int instrument = Integer.parseInt(args);
             int note = Integer.parseInt(args);
             mini.play(instrument,note);

      }

    }
    public void play(int instrument ,int note ){
      try{
            Sequencer player = MidiSystem.getSequencer();
            player.open();
            Sequence seq = new Sequence(Sequence.PPQ, 4);
            Track track = seq.createTrack();

            MidiEvent event = null;

            ShortMessage first = new ShortMessage();
            first.setMessage(192,1,instrument,0);
            MidiEvent changeInstrument = new MidiEvent(first,1);
            track.add(changeInstrument);

            ShortMessage a = new ShortMessage();
            a.setMessage(144,1,note,100);
            MidiEvent noteOn = new MidiEvent(a,1);
            track.add(noteOn);

            ShortMessage b = new ShortMessage();
            b.setMessage(128,1,note,100);
            MidiEvent noteOff = new MidiEvent(b,16);
            track.add(noteOff);
            player.setSequence(seq);
            player.start();

      }catch (Exception ex){
            ex.printStackTrace();
      }
    }
}

baolibu 发表于 2021-5-20 13:45

我去,我居然点进来了。然后啥都看不懂,只能灰溜溜的出去。
页: [1]
查看完整版本: 帮看一下怎么才能弄出