Je programme actuellement un éditeur de clavier de piano, un peu comme celui que vous pouvez trouver dans Cubase, Logic, Reason etc ..Midiplayer arrête la lecture des sons après 16 notes
Je possède ce grand réseau, double nouveau tableau int [ 13] [9], ce qui en fait 13 lignes, 9 colonnes. La première colonne [0-12] [0] est le clavier, en haut il y a "high C" (note midi 72) et en bas il y a "low C" (note midi 60). Cette colonne est un tableau de JButtons et lorsque vous appuyez par exemple sur "low C", la note 60 est jouée par le synthétiseur.
J'ai réussi à obtenir un bon fonctionnement pour l'instant, mais un de mes problèmes est que je ne peux jouer que 16 notes d'affilée, alors c'est comme si le synthétiseur s'arrêtait ou quelque chose comme ça.
Avez-vous une idée de ce qu'est le problème?
Un peu du code:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import javax.sound.midi.*;
actionPerformed(ActionEvent ae){
for(int i = 0; i<13; i++){
if(o== instr[i]){//instr is the button array
SpelaTangent(i);
}
}
}
public void SpelaTangent(int tangent){
int [] klaviatur = new int[13];
for(int i = 0; i<13; i++){
klaviatur[i] = (72-i);
}
try {
Synthesizer synth = MidiSystem.getSynthesizer();
synth.open();
final MidiChannel[] mc = synth.getChannels();
Instrument[] instrument = synth.getDefaultSoundbank().getInstruments();
synth.loadInstrument(instrument[1]);
mc[0].noteOn(klaviatur[tangent],350);
mc[0].noteOff(klaviatur[tangent],350);
} catch (MidiUnavailableException e) {}
}
aide est très appréciée!