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!
[Dúvida] Musica
8 Respostas
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.
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…
??
Olá, a leitura dos artigos abaixo vão te ajudar:
Threads and Swing
Lesson: concurrency in Swing
Java Practices: Swing threads
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…
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!?
???
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.