Java에서 MIDI 파일을 재생하는 간단한 응용 프로그램을 만들고 있습니다.
javax.sound.midi
라이브러리를 사용하고 있습니다.자바에서 재생하기위한 하드웨어 MIDI 출력?
내 MIDI 출력 장치를 올바르게 검색 할 수 있습니다 (USB에서 MIDI 케이블로).
그러나 시퀀스를 재생할 때 항상 호스트 OS의 일반 MIDI (Soundfont) 재생 인 기본 사운드 합성기에서 재생됩니다.
내가 겪고있는 문제는 기본 MIDI Out을 변경하는 것입니다. 내가
Receiver MidiOutReceiver; //instantiated earlier
Sequencer MidiOutSequencer = MidiSystem.getSequencer();
MidiOutSequencer.open();
MidiOutSequencer.start();
을 실행하면
나는 스피커에서 MIDI 시퀀스 재생을들을 수 있습니다.
3.10. The "Java Sound Sequencer" is implicitly connected to the default Synthesizer, 3.5. In your program you can obtain a Synthesizer instance yourself and connect it to a sequencer explicitly using a Transmitter/Receiver pair. So you know which Synthesizer is used. In case you obtained a Sequencer that is pre-connected to a Synthesizer, you can find out the Synthesizer by using the method getTransmitters().를 참조 후, 그러나 명시 적으로 송신기/수신기 쌍을 사용하여 새 기본 신디사이저와 시퀀서 객체를 생성하는 방법이 언급되어 있지 않습니다.
올바른 송신기 및 수신기가 있습니다. 하지만 그들은 MIDI 아웃에서 재생되지 않습니다.
또한 나는 아무것도 변경하지 않는 것
MidiSystem.getTransmitter().setReceiver(MidiOutReceiver);
을하려고 할 때.
어떻게이 수신기/송신기 쌍을 신디사이저와 함께 사용하여 기본 시퀀서가 내 MIDI 출력 포트를 사용합니까?