Jar Som

29 respostas
N

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!

29 Respostas

N

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();

N

uup algm me ajuda por favor

matheuslmota

Você já olhou se o arquivo está sendo exportado no Jar?

N

ja matheus ele esta sendo exportado

matheuslmota

Tente rodar seu código assim:

InputStream in = this.getClass().getResourceAsStream("Fuel.mp3"); playMp3 = new Player(in); playMp3.play();

N

matheuslmota:
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

matheuslmota

Qual o erro?

matheuslmota

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.

N

Mais ta matheus na mesma pasta da erro de sintaxe

N

Uma coisa que percebi eh que se eu indicar o arquivo tipo em um local “C://” por exemplo funfa de boa.

matheuslmota

Coloque a mensagem completa do erro pra eu saber o que está acontecendo.

N

Coloque a mensagem completa do erro pra eu saber o que está acontecendo.
"incompatible type
required: java.io.FileInputStream
found: java.io.InputStream
"

matheuslmota

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();

N

matheus esse código não deu erro mias só que agora não toca som nem no IDE oO

R

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();
    }
no topo:
//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();
matheuslmota

Você tá usando o quê pra ler esses arquivos mp3? Qual o framework?

N

jl.1.0.1

matheuslmota

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.

N

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 =//

matheuslmota

Tu tá falando em por quê no “C:\”, o Jar ou o resource?

N

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

R

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.

N

raghy seu exemplo toca apenas WAV?

matheuslmota

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.

N

Matheus resolvi da seguinte maneira:
[code] InputStream file = getClass().getResourceAsStream("Fuel.mp3");
//in = new FileInputStream("/Loco.mp3");
playMp3 = new Player(file);
playMp3.play();

matheuslmota
NathanPalmares:
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 :)

N

É matheus vlws por ficar me ajudando aqui obrigado de verdade.

matheuslmota

Por nada cara, muda só o título do teu primeiro post e acrescenta “[Resolvido]”
:wink:

R

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.

Criado 17 de junho de 2012
Ultima resposta 18 de jun. de 2012
Respostas 29
Participantes 3