У меня проблемы с настройкой инструмента в пакете javax.sound.midi.
Synthesizer synthesizer = MidiSystem.getSynthesizer();
MidiChannel[] channels = synthesizer.getChannels();
channels[0].programChange(5);
System.out.println(channels[0].getProgram());
Из документации в MidiChannel вызовы каналов [0] .programChange (int) должны изменить инструмент, для которого установлен MidiChannel, и немедленно отразиться в каналах [0] .getProgram (). Однако моя программа выводит «0», указывая, что ничего не изменилось.
Позже в коде я использую MidiChannel.getSequencer () для успешного воспроизведения миди-звука (хотя только с инструментом по умолчанию).
Собираюсь ли я попытаться установить инструмент неправильно?