[Dúvida] Musica

8 respostas
Schoker

Galera…fiz um mp3 “player” no meu programa…ele reproduz normal as musicas em mp3…pra isso usei uma thread…mas quando a musica ta tocando ele nao deixa q as funções dos outros botoes funcionemm…eu clico nos botoes e eles nao faze ação nenhuma…será que é algum problema com a thread? obs: o programa nao trava porcausa da thread…ele apenas nao consegue fazer as ações dos botoes…
Desde já agradeço!

8 Respostas

juliofsn

Só os botões apresentam problemas, não existe uma “lentidão” generalizada?

Pergunto porque já tive um problema assim e resolvi diminuindo a prioridade da thread que devia rodar em background, tenta isso pra ver se funciona.

Schoker

vou explicar melhor pra vc enteder…eu to fazndo um bloco de notas…ai tem uma textarea e uma JMenuBar com varios menus…um desses menus abre um tela pra escolher as musicas q o usuario qer ouvir…o programa funciona normal…mas quando eu do play nas musicas elas tocam normal tmbm mas o programa parece q perde as funções…eu tento mudar a fonte, o tamanho, a cor do texto e ele nao muda…eu tenho um comando q deixa a textarea transparente e quando eu to ouvindo a musica ela nao fika transparente…a maioria dos botoes nao funcionam…eu uso uma thread pra tocar a musica…se quiser mais algumaa informação eh soh fala rsrs…

Schoker

??

tnaires

Olá, a leitura dos artigos abaixo vão te ajudar:

Threads and Swing
Lesson: concurrency in Swing
Java Practices: Swing threads

M

O código. Sem ele fica impossível descobrir onde está o problema. Se for possível, coloque-o compactado como anexo para podermos te ajudar. Se não for possível fica difícil…

Schoker

Código pra chamar a thread:

File mp3File = new File(caminhoMus[musica]); 
FileInputStream mp3 = new FileInputStream(mp3File);
player = new AdvancedPlayer(mp3);  
							
fim = false;
					
Thread play = new Play();
play.start();

Código da thread:

class Play extends Thread{
        public void run(){
        	try{
        		if(fim==false){
        			player.play();
        		}
        		else{
        			player.close();
        		}
        	}
        	catch(JavaLayerException erro){
        		erro.printStackTrace();
        	}
        }
}

Depois que eu aperto play algumas funções nao funcionam...
Por exemplo...no programa eu tenho uma label q eh o plano de fundo do sistema...esse plano de fundo eu consigo mudar...mas qualqer função q faz sobre uma text area q tem la nao funciona...nao da erro nem nada...apenas nao faz a função...qual pode ser o problema!?

Schoker

???

M

O problema pode estar em qualquer lugar. Você precisará depurar seu código e fazer inúmeros teste para encontrá-lo. Não é possível ajudar com só um trecho do código.

Criado 1 de março de 2010
Ultima resposta 4 de mar. de 2010
Respostas 8
Participantes 4