GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

[Resolvido]Alquem me ajuda problema em criar um .jar

Tags: #<Tag:0x00007f289dd429f8>

ola estou com um problema è o sequinte esse programa que criei precissa ficar rodando essas musicas em loop ao total sao 6 musicas se nao me engano funciona perfeitamente bem quando rodo ele direto da ide eclipse porem quando crio uma jar ele abre o JFrame e começa a rodar porem a musica nao toca ja fiz de tudo para resolver quem puder tiver com alguma ideia de como fazer as musicas funcionarem no ponto jar

oque eu ja tentei
1)jar runable
2)jar file

deixo abaixo os codigos

package br.com.kalilprogramstudio.projetocgsu.musicas;

import java.io.InputStream;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import br.com.kalilprogramstudio.projetocgsu.KalilUtil.Ultilidades;

public class PlayMusica extends Thread {

private static String MusicaAtual = "Defaut";
private static boolean avancaMusica = false;
String[] bibliotecaDeMusicas = ListaDeMusicas.getBibliotecaDeMusicas();

public PlayMusica() {
	start();
}

@Override
public void run() {
	while (true) {
		int escolheMusica;
		try {
			escolheMusica = Ultilidades.GeraNumeroAleatorio(0, bibliotecaDeMusicas.length);
		} catch (Exception e) {
			e.printStackTrace();
			escolheMusica = 0;
		}

		Clip clip;
		AudioInputStream audioInput;

		for (int i = escolheMusica; i < bibliotecaDeMusicas.length + 1; i++) {
			avancaMusica = false;
			i = i == bibliotecaDeMusicas.length ? 0 : i;
			MusicaAtual = new String("Musica tocando é " + bibliotecaDeMusicas[i]);
			InputStream Musica = getClass().getResourceAsStream("/Resources/" + bibliotecaDeMusicas[i]);
			try {
				audioInput = AudioSystem.getAudioInputStream(Musica);
				clip = AudioSystem.getClip();
				clip.open(audioInput);
				clip.start();
				sleep(1000);
				while (clip.isRunning()) {
					if (avancaMusica) {
						clip.stop();
						clip.close();
						break;
					}
					sleep(1);
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}

	}
}

public static void proximaMusica() {
	avancaMusica = true;
}

public static String getMusicaAtual() {
	String[] novoMusicaAtual = MusicaAtual.split(".wav");
	return novoMusicaAtual[0];
}

}


package br.com.kalilprogramstudio.projetocgsu.musicas;

public class ListaDeMusicas {
private static String[] bibliotecaDeMusicas = { “Bad apple.wav”, “THE MUFFIN.wav”, “Highway to Hell.wav”, “Back In Black.wav”,
“Warriors.wav”, “Make It Bun Dem.wav” };

public static String[] getBibliotecaDeMusicas() {
	return bibliotecaDeMusicas;
}

}

Quando vc da Limpar e Construir ele faz alguma reclamação

Não entendi direito sobre limpar e construir mais n ele n reclama de nada e no compilador funciona 100% o problema é quando eu exporto para criar um .jar ele não toca as músicas

Qual IDE vc usa? No netbeans pra extrair um jar do projeto vc precisa selecionar Limpar e Contruir. Se o probléma não é do código vc pode tentar desbugar o projeto, não garanto q de certo mas tenta copiar os pacotes dele em outro arquivo e ver.

vou tentar fazer oque você falou e vou tentar tbm baixar o netbeans

Ola gostaria de avisar que consequi resolver este problema aqui esta a minha soluçao

InputStream Musica = getClass().getResourceAsStream("/Resources/" + bibliotecaDeMusicas[i]);
URL Musica = this.getClass().getResource("/Resources/" + bibliotecaDeMusicas[i]);

eu basicamente troquei inputstream por URL e funcionou tanto no eclipse e quando eu gero um .jar runable

Obrigado Joao_Pedro_Martins pela ajuda :slight_smile:

//