Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package exemplo.midi;
- import javax.sound.midi.InvalidMidiDataException;
- import javax.sound.midi.MidiEvent;
- import javax.sound.midi.MidiSystem;
- import javax.sound.midi.MidiUnavailableException;
- import javax.sound.midi.Sequence;
- import javax.sound.midi.Sequencer;
- import javax.sound.midi.ShortMessage;
- import javax.sound.midi.Track;
- public class Midi {
- /**
- * @param args
- * @throws InvalidMidiDataException
- * @throws MidiUnavailableException
- * @throws InterruptedException
- */
- public static void main(String[] args) throws InvalidMidiDataException, MidiUnavailableException, InterruptedException {
- Sequencer player = MidiSystem.getSequencer();
- player.open();
- Sequence seq = new Sequence(Sequence.PPQ, 4);
- Track track = seq.createTrack();
- ShortMessage a = new ShortMessage();
- a.setMessage(144, 1, 44, 100); // 144 significa reproduzir a nota 44
- MidiEvent noteOn = new MidiEvent(a, 1); // Nota inicia no momento 1
- track.add(noteOn);
- ShortMessage b = new ShortMessage();
- b.setMessage(128, 1, 44, 100); // 128 significa parar a nota 44
- MidiEvent noteOff = new MidiEvent(b, 12); // Nota para no momento 12
- track.add(noteOff);
- ShortMessage c = new ShortMessage();
- c.setMessage(144, 1, 59, 100); // 144 significa reproduzir a nota 59
- noteOn = new MidiEvent(c, 9); // Nota inicia no momento 9
- track.add(noteOn);
- ShortMessage d = new ShortMessage();
- d.setMessage(128, 1, 59, 100); // 128 significa parar a nota 59
- noteOff = new MidiEvent(d, 16); // Nota para no momento 16
- track.add(noteOff);
- player.setSequence(seq);
- player.start();
- Thread.sleep(1000 * 2);
- player.close();
- System.exit(0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement