import javax.sound.midi.InvalidMidiDataException; import javax.sound.midi.MidiUnavailableException; import javax.sound.midi.Synthesizer; import javax.sound.midi.MidiSystem; import javax.sound.midi.Receiver; import javax.sound.midi.ShortMessage; import javax.sound.midi.MidiMessage; public class MIDIsintetizator { Synthesizer sintetizator; Receiver sprejemnik; public MIDIsintetizator() { // NALOGA 1: kreirajte sintetizator try { sintetizator = MidiSystem.getSynthesizer(); sintetizator.open(); sprejemnik = sintetizator.getReceiver(); } catch (MidiUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); } MidiMessage vklopiTon = getNoteOnMSG(60); sprejemnik.send(vklopiTon, 0); try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } MidiMessage izklopiTon = getNoteOffMSG(60); sprejemnik.send(izklopiTon, 0); System.exit(0); } private MidiMessage getMIDImessage(int command, int note) { try { int channel = 0; int velocity = 60; ShortMessage msg = new ShortMessage(); msg.setMessage(command, channel, note, velocity); return (MidiMessage) msg; } catch (InvalidMidiDataException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } public MidiMessage getNoteOnMSG(int note) { return getMIDImessage(ShortMessage.NOTE_ON, note); } public MidiMessage getNoteOffMSG(int note) { return getMIDImessage(ShortMessage.NOTE_OFF, note); } public static void main(String[] args) { MIDIsintetizator sintetizator = new MIDIsintetizator(); } }