1
JAR에 사운드 뱅크를 저장 한 경우 리소스 로딩을 사용하여 애플리케이션에 해당 사운드 뱅크를로드하는 방법은 무엇입니까?자바 : JAR에 사운드 뱅크 파일 임베드
최대한 많은 MIDI 프로그램을 jar 파일에 통합하려고하는데, 내가 추가해야 할 마지막 사항은 사운드 뱅크가 설치되어 있지 않아서 사용하고있는 사운드 뱅크 파일입니다. . 내 항아리 파일에 넣으려면 노력하고 클래스 클래스에서 getResource() 함께로드 할 수 있지만 유효한 것으로 알고 사운드 뱅크 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);
}