Hallo,
ich lese gerade head first java und bin an dem punkt angelangt wo man ein "beatbox" programm schreiben soll.
leider bekomme ich jedesmal den selben ton, egal welche werte ich eingebe.
ich hoffe ihr könnte mir helfen.
EDIT :
ich benutze Java 1.7. könnte es vielleicht daran liegen ?
danke
ich lese gerade head first java und bin an dem punkt angelangt wo man ein "beatbox" programm schreiben soll.
leider bekomme ich jedesmal den selben ton, egal welche werte ich eingebe.
ich hoffe ihr könnte mir helfen.
EDIT :
ich benutze Java 1.7. könnte es vielleicht daran liegen ?
danke
Java:
import javax.sound.midi.*;
public class MiniMiniMusicApp {
/**
* @param args
*/
public static void main(String[] args) {
MiniMiniMusicApp mini = new MiniMiniMusicApp();
if(args.length<2)
{
System.err.println("you need 2 args");
}
else
{
int instrument = Integer.parseInt(args[0]);
int note = Integer.parseInt(args[1]);
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();
ShortMessage first = new ShortMessage();
first.setMessage(192,1,instrument,0);
MidiEvent change = new MidiEvent(first, 1);
track.add(change);
ShortMessage a = new ShortMessage();
a.setMessage(144,1,note,100);
MidiEvent noteOn = new MidiEvent(a, 1);
track.add(noteOn);
ShortMessage b = new ShortMessage();
a.setMessage(128,1,note,100);
MidiEvent noteOff = new MidiEvent(b, 16);
track.add(noteOff);
player.setSequence(seq);
player.start();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
Zuletzt bearbeitet: