Bom dia.
Sou iniciante em java e este é meu primeiro tópico aqui entao relevem ;D
Estou criando um player de audio utilizando o java media framework, mas acontece que na maquina do compilador ele funciona ok, mas quando eu compilo e passo para um amigo ou para uma maquina virtual que criei para testar, nao funciona.
Apos varios testes percebia que o programa nao esta instanciando o player.
Segue o código:
public class AudioPlayer implements ControllerListener {
private Player audioPlayer = null;
public Control controlador = null;
private final GainControl Control;
public AudioPlayer(URL url) throws IOException, NoPlayerException, CannotRealizeException{
audioPlayer = Manager.createRealizedPlayer(url);
audioPlayer.addControllerListener(this);
Control = audioPlayer.getGainControl();
}
}
private void selecionarActionPerformed(java.awt.event.ActionEvent evt) {
/*aqui abrimos o selecionador de arquivos, caso retorne o carregamento do arquivo
eu passo para a variavel musica, pego o caminho na jtextfield e tento instanciar
o player convertendo o arquivo para URL, adiciono as exessoes necessarias*/
int carregou = selecionadorDeArquivo.showOpenDialog(this);
if(carregou == JFileChooser.APPROVE_OPTION){
musica = selecionadorDeArquivo.getSelectedFile();
arquivo.setText(musica.getAbsolutePath());
try {
player = new AudioPlayer(musica.toURL());
} catch (IOException ex) {
jLabel1.setText("problema no IO");
Logger.getLogger(principal.class.getName()).log(Level.SEVERE, null, ex);
} catch (NoPlayerException ex) {
jLabel1.setText("NoPlayerException");
Logger.getLogger(principal.class.getName()).log(Level.SEVERE, null, ex);
} catch (CannotRealizeException ex) {
jLabel1.setText("CannotRealizeException");
Logger.getLogger(principal.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
ai estao somente as partes relevantes ao problema para o codigo nao ficar extenso.
quando rodo ele pela maquina virtual, e instancio o AudioPlayer ele lança cannotrealizeexception
se alguem puder me dar uma luz fico agradecido ;D