Então galera estou desenvolvendo uma aplicação quando compilo ela no IDE netbeans o som pega normal, só que quando rodo ela no .jar gerado pelo netbeans tudo pega normal só que não toca o som, alguém sabe como ajudar ? Abraços!
Jar Som
29 Respostas
Upp Algm pode me ajudar ?
Método que eu uso pra carregar arquivo: (lembrando no ide funciona normal mais quando executo o jar nao pega)
java.net.URL myurl = this.getClass().getResource("Fuel.mp3");
in = new FileInputStream(myurl.getFile());
playMp3 = new Player(in);
playMp3.play();
uup algm me ajuda por favor
Você já olhou se o arquivo está sendo exportado no Jar?
ja matheus ele esta sendo exportado
Tente rodar seu código assim:
InputStream in = this.getClass().getResourceAsStream("Fuel.mp3");
playMp3 = new Player(in);
playMp3.play();
Tente rodar seu código assim:
InputStream in = this.getClass().getResourceAsStream("Fuel.mp3"); playMp3 = new Player(in); playMp3.play();
matheus da erro na linha que declara o inputstream
Qual o erro?
Você tem que colocar o resource que quer acessar na mesma pasta do arquivo .java que está querendo chamar o resource. Não esqueça disso.
Mais ta matheus na mesma pasta da erro de sintaxe
Uma coisa que percebi eh que se eu indicar o arquivo tipo em um local “C://” por exemplo funfa de boa.
Coloque a mensagem completa do erro pra eu saber o que está acontecendo.
Coloque a mensagem completa do erro pra eu saber o que está acontecendo.
"incompatible type
required: java.io.FileInputStream
found: java.io.InputStream
"
Bom, como sua classe requer como parâmetro um objeto do tipo FileInputStream, faça da seguinte maneira:
URL resource = this.getClass().getClassLoader().getResource("Fuel.mp3");
File file = new File(resource.toURI());
FileInputStream inputStream = new FileInputStream(file);
playerMp3 = new Play(inputStream);
playerMp3.play();
matheus esse código não deu erro mias só que agora não toca som nem no IDE oO
olha aí. método carregar e tocar que peguei aqui no guj, já reformado para este problema.
fiz com ajuda de um participante aqui. tem um tópico sobre isso aqui no guj. esqueci o nome dele, e os emails sumiram da caixa. ficamos dias conversando para as imagens funcionarem bem.
segue os métodos:
public void carregarSom(int posSom) {
AudioInputStream sound = null;
try {
sound = AudioSystem.getAudioInputStream(this.getClass().getResource(colecao_sons[posSom] + ".WAV"));
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "problema no som", "problema no som", JOptionPane.INFORMATION_MESSAGE);
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "problema no som", "problema no som", JOptionPane.INFORMATION_MESSAGE);
}
DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat());
try {
clip = (Clip) AudioSystem.getLine(info);
} catch (LineUnavailableException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "problema no som", "problema no som", JOptionPane.INFORMATION_MESSAGE);
}
try {
clip.open(sound);
} catch (LineUnavailableException e) {
JOptionPane.showMessageDialog(null, "problema no som", "problema no som", JOptionPane.INFORMATION_MESSAGE);
e.printStackTrace();
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "problema no som", "problema no som", JOptionPane.INFORMATION_MESSAGE);
e.printStackTrace();
}
}
public void tocaSom() {
clip.start();
}
//arquivos para som...
private Clip clip;
private String[] colecao_sons = {"seperder", "letracerta", "letraerrada", "acertou", "selecionarcategoria", "brancoouespaco", "letrajadita", "iniciarpartida", "novojogo", "duasletras"};
depois é só usar...
carregarSom(7);
tocaSom();
Você tá usando o quê pra ler esses arquivos mp3? Qual o framework?
jl.1.0.1
Volte o código para o estado que estava no início do tópico. O que pode está ocorrendo é que você está gerando o seu jar mas não está gerando junto com o jar da biblioteca de audio.
Veja na hora de gerar seu Jar se existe alguma opção para adicionar as dependências do seu projeto e adicione a jl1.0.1.
Cara está adicionando sim a prova disso é que se eu por um diretório tipo C:\ funciona o som no jar só que eu quero executar a música do resource =//
Tu tá falando em por quê no “C:\”, o Jar ou o resource?
O C:\ é só exemplo, onde quero chegar é que ele compila tranquilo ide buscando do resource só que quando gero o .jar ele não busca e no .jar tem o arquivo de áudio certinho não sei pq isso acontece
então meu exemplo ali não ajudou, principalmente esta parte…
sound = AudioSystem.getAudioInputStream(this.getClass().getResource(colecao_sons[posSom] + “.WAV”));
olha lá. o arquivo tem que estar no mesmo pacote deste comando.
raghy seu exemplo toca apenas WAV?
Cara, partindo do pressuposto que o arquivo “Fuel.mp3” está no mesmo diretório que o .java que está querendo chamar ele, o seguinte código deveria funcionar:
URL resource = this.getClass().getClassLoader().getResource("Fuel.mp3");
File file = new File(resource.toURI());
FileInputStream inputStream = new FileInputStream(file);
playerMp3 = new Play(inputStream);
playerMp3.play();
Não consigo entender porque isso não está funcionando.
Matheus resolvi da seguinte maneira:
[code] InputStream file = getClass().getResourceAsStream("Fuel.mp3");
//in = new FileInputStream("/Loco.mp3");
playMp3 = new Player(file);
playMp3.play();
Matheus resolvi da seguinte maneira: [code] InputStream file = getClass().getResourceAsStream("Fuel.mp3"); //in = new FileInputStream("/Loco.mp3"); playMp3 = new Player(file); playMp3.play();
Mas foi assim que eu disse que você fizesse na página anterior desse post ouxi!
Ainda bem que funcionou :)
É matheus vlws por ficar me ajudando aqui obrigado de verdade.
Por nada cara, muda só o título do teu primeiro post e acrescenta “[Resolvido]”

bem meu arquivo acho que funciona .au, e outros mas mp3, se não me engano, não deu.
tinha até pego umas bibliotecas para fazer funcionar mp3…
se conseguirem aí. analiso. mas aquele ali funciona.