J'ai le code ci-dessous qui devrait théoriquement couper le son (juste pour tester si le contrôle de volume fonctionne) mais il joue le son à plein volume comme si la boucle à travers les pistes n'était pas là.Volume MIDI de contrôle sans synthétiseur
File music = new File(midi);
Sequencer sequencer;
Sequence sequence;
try {
sequence = MidiSystem.getSequence(music);
sequencer = MidiSystem.getSequencer();
sequencer.open();
for (Track track : sequence.getTracks())
{
for (int c = 0; c < 16; c++)
track.add(new MidiEvent(
new ShortMessage(ShortMessage.CONTROL_CHANGE, c, 7, 0),
track.ticks()));
}
sequencer.setSequence(sequence);
sequencer.start();
} catch (MidiUnavailableException | IOException | InvalidMidiDataException e) {
e.printStackTrace();
}