score:1

as you just found out java returns different default synthesizer when running the jar file outside of eclipse.

this might be caused by the javax.sound.midi.synthesizer property or a sound.properties file in the classpath.

as a workaround you could print the property value when running the application inside of eclipse and set it manually so the jar file uses the same synthesizer.

edit:

if you want to use com.sun.media.sound.mixersynth as default create the property

javax.sound.midi.synthesizer=com.sun.media.sound.mixersynth

example:

properties props = system.getproperties();
props.setproperty("javax.sound.midi.synthesizer", "com.sun.media.sound.mixersynth");
synthesizer synth = midisystem.getsynthesizer();
....

more information: http://docs.oracle.com/javase/7/docs/api/javax/sound/midi/midisystem.html)


Related Query

More Query from same tag