MIDI ファイルのデフォルトのサウンドフォントを独自のサウンドフォントに置き換えようとしています。ただし、新しいサウンドフォントは、古いサウンドフォントを完全に置き換えるのではなく、古いサウンドフォントの上で再生されます。私のコード:
Synthesizer synthesizer = MidiSystem.getSynthesizer();
synthesizer.open();
synthesizer.unloadAllInstruments(synthesizer.getDefaultSoundbank());
synthesizer.loadAllInstruments(MidiSystem.getSoundbank(new File("Airhorn.sf2")));
Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
sequencer.getTransmitter().setReceiver(synthesizer.getReceiver());
InputStream inputStream = new BufferedInputStream(new FileInputStream(new File("Test.mid")));
sequencer.setSequence(inputStream);
sequencer.start();