2014-07-13 2 views
0

Я разрабатываю генетический алгоритм с использованием рамки часового механизма Java, которая является параллельной. Мне нужно создать wav-файл, используя javax.sound.midi.Sequencer и функцию MIDI. Моя проблема заключается в том, что я не могу одновременно два создании экземпляра secuencers .... он бросает следующее сообщение об ошибке:javax.sound.midi.Sequencer concurrency

javax.sound.midi.MidiUnavailableException 
    at javax.sound.midi.MidiSystem.getDefaultDeviceWrapper(MidiSystem.java:1112) 
    at javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:439) 
    at org.jfugue.Player.getSequencerConnectedToSynthesizer(Player.java:478) 
    at frerejacques.Midi2WavRenderer.createWavFile(Midi2WavRenderer.java:136) 
    at frerejacques.FrereJacques.generateSong(FrereJacques.java:62) 
    at frerejacques.FrereJacques$2.run(FrereJacques.java:98) 
Caused by: java.lang.IllegalArgumentException: MidiDevice Microsoft GS Wavetable Synth not supported by this provider. 
    at com.sun.media.sound.AbstractMidiDeviceProvider.getDevice(AbstractMidiDeviceProvider.java:147) 
    at javax.sound.midi.MidiSystem.getFirstDevice(MidiSystem.java:1351) 
    at javax.sound.midi.MidiSystem.getFirstDevice(MidiSystem.java:1406) 
    at javax.sound.midi.MidiSystem.getFirstDevice(MidiSystem.java:1373) 
    at javax.sound.midi.MidiSystem.getDefaultDevice(MidiSystem.java:1160) 
    at javax.sound.midi.MidiSystem.getDefaultDeviceWrapper(MidiSystem.java:1110) 
    ... 5 more 

Любые идеи о том, как использовать два Diferent secuencers в то же время?

ответ

0

Java (и Windows) рассматривают синтезаторы как аппаратные устройства, поэтому их невозможно открыть несколько раз.

Вы должны использовать одно устройство (которое приведет к одному выходу) или использовать some software synthesizer, который работает в автономном режиме с устройств.

 Смежные вопросы

  • Нет связанных вопросов^_^