2017-09-01 2 views
0

私はHead First Javaを読んでいました。これはシーケンサーの作り方とMIDIの演奏を練習するためのコードです。私は投稿を通して検索したものは何も聞こえません。私が持っているsoundbank.gmファイルについて聞いたことがあります。私のコードであるか私のPCであるかは、本が何をしているのかを説明するポイントに達していないので、わかりません。MIDI音が出ないプログラム

import javax.sound.midi.*; 
public class MiniMiniMusicApp { 
    public static void main(String[] args){ 
     MiniMiniMusicApp mini = new MiniMiniMusicApp(); 
     mini.play(); 
    } 

    public void play(){ 
     try{ 
      Sequencer player = MidiSystem.getSequencer(); //get a sequencer 
      player.open(); //open it 
      Sequence seq = new Sequence(Sequence.PPQ, 4); 
      Track track = seq.createTrack(); //ask the sequence for a track; 
      ShortMessage b = new ShortMessage(); //Put some midi events into the Track. 
      b.setMessage(128,1,44,100); 
      MidiEvent noteOff = new MidiEvent(b, 16); 
      track.add(noteOff); 
      player.setSequence(seq); //give the Sequence to the sequencer 
      player.start(); // press play. 
      Thread.sleep(2000); 
      player.close(); 
     }catch(Exception ex){ 
      ex.printStackTrace(); 
     } 
    } 
} 

答えて

1

note_onがありません。たとえば、

ShortMessage b = new ShortMessage(); 
b.setMessage(144, 0, 60, 127); 
MidiEvent noteOn = new MidiEvent(b, 2); 
track.add(noteOn); 

// Here's your note_off 
ShortMessage b1 = new ShortMessage(); 
b1.setMessage(128, 1, 44, 100); 
MidiEvent noteOff = new MidiEvent(b1, 16); 
track.add(noteOff); 
+0

私はこのメモを書いたところで少し混乱しています。その前または後のノートオフですか?決して私はそれを働かせて編集しないでください – Jude

関連する問題