Если у меня есть звуковой банк, хранящийся в JAR, как я могу загрузить этот звуковой банк в свое приложение, используя загрузку ресурсов ...?Java: Вложение файла Soundbank в JAR
Я пытаюсь закрепить как можно больше MIDI-программы в файле jar, и последнее, что я должен добавить, это файл soundbank, который я использую, поскольку у пользователей не будет установленных звуковых банков , Я пытаюсь помещать его в файл jar, а затем загружать его с помощью метода getResource() в классе Class, но я получаю InvalidMidiDataException на звуковом банке, который, как я знаю, действителен.
Вот код, это в конструкторе для моего объекта синтезатора:
try {
synth = MidiSystem.getSynthesizer();
channels = synth.getChannels();
instrument = MidiSystem.getSoundbank(this.getClass().getResource("img/soundbank-mid.gm")).getInstruments();
currentInstrument = instrument[0];
synth.loadInstrument(currentInstrument);
synth.open();
} catch (InvalidMidiDataException ex) {
System.out.println("FAIL");
instrument = synth.getAvailableInstruments();
currentInstrument = instrument[0];
synth.loadInstrument(currentInstrument);
try {
synth.open();
} catch (MidiUnavailableException ex1) {
Logger.getLogger(MIDISynth.class.getName()).log(Level.SEVERE, null, ex1);
}
} catch (IOException ex) {
Logger.getLogger(MIDISynth.class.getName()).log(Level.SEVERE, null, ex);
} catch (MidiUnavailableException ex) {
Logger.getLogger(MIDISynth.class.getName()).log(Level.SEVERE, null, ex);
}