Eu desenvolvi um programa simples que contém uma função som(); que chama um barulho de notificação ao clicar num botão, no netbeans funciona perfeitamente, mas ao gerar o .jar o som não é emitido
Mostre esse método som()
Dependendo da forma como vc está recuperando o arquivo de som, não vai funcionar no jar mesmo. Se vc estiver usando o métdo getResource, não deve funcionar. Com jar, vc deve usar o getResourceAsStream.
Mas o melhor é postar o código, como o @RoinujNosde sugeriu.
1 curtida
package util;
import java.io.InputStream;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.swing.SwingUtilities;
public class Som {
public static void main(String[] args) {
new Som().som();
}
public void som() {
try {
// Carrega o arquivo de áudio (não funciona com .mp3, só .wav)
String resource = "//Vania's bg/notify.wav";
InputStream input = getClass().getResourceAsStream(resource);
Clip oClip = AudioSystem.getClip();
AudioInputStream audioInput = AudioSystem.getAudioInputStream(input);
oClip.open(audioInput);
oClip.loop(0); // Toca uma vez
//clip.loop(Clip.LOOP_CONTINUOUSLY); // Toca continuamente (para o caso de músicas)
// Para a execução (senão o programa termina antes de você ouvir o som)
SwingUtilities.invokeLater(new Runnable() {
public void run() {
}
});
} catch (Exception e) {
}
}
}
mesmo utilizando getResourceAsStream o som não é emitido no jar
Tenta rodar o jar num terminal e veja se estoura alguma exceção.
Coloca somente uma /
no início do caminho, para ele procurar a partir da raíz do classpath.
Dentro do seu JAR existe a pasta Vania's bg
?