Este sencillo código no produce ningún sonido en un par de máquinas que he usado para probarlo. Estoy ejecutando el código desde Eclipse, pero también he intentado utilizar la línea de comandos sin ningún resultado.Ejemplo simple de Java MIDI que no produce ningún sonido
public static void main(String[] args)
{
try {
Synthesizer synthesizer = MidiSystem.getSynthesizer();
synthesizer.open();
MidiChannel[] channels = synthesizer.getChannels();
channels[0].noteOn(60, 60);
Thread.sleep(200);
channels[0].noteOff(60);
synthesizer.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
soy capaz de conseguir con éxito el sonido por conseguir un secuenciador, la adición de eventos MIDI a la secuencia, y reproducir la secuencia, pero yo estoy tratando de hacer algunos efectos de la música en tiempo real, que el secuenciador no lo hace apoyo.
¿Alguna idea?
EDITAR CON SOLUCIÓN: Resulta que el problema es que, por defecto, el JRE no viene con un banco de sonidos (interesante, entonces, que el uso del secuenciador trabajó, pero utilizando el sintetizador no lo hizo). Gracias, thejmc!
Para resolver el problema, I downloaded a soundbank from java.sun.com y lo colocó en (en WinXP) C: \ Archivos de programa \ jre1.6.0_07 \ lib \ audio (tenía que hacer la carpeta de audio).
¿Están tus parlantes enchufados? :) – nickf
¡Sí! (Buena pregunta, sin embargo, una vez diagnostiqué el "problema" del monitor de alguien con la misma pregunta) –