yo otra vez

yador
20 de Enero del 2004
Hola, me podria decir alguien por que no me reconoce estas clases.

try {
Player fich=new Player(new FileInputStream("/audio/monkey.mp3"));
fich.play();
}
catch (IOException ioe) {
JOptionPane.showMessageDialog(this, "No encuentro el fichero",
"File not found", JOptionPane.ERROR_MESSAGE);
}
catch (JavaLayerException javaE){
JOptionPane.showMessageDialog(this,"Error al crear player"
,"Error",JOptionPane.ERROR_MESSAGE);
}
No reconoce ni Player ni JavaLayerException y creo que hago bien los imports

import javazoom.jl.player.*;

Dentro de mi proyecto tengo /javazom/jl/player/ y aki los .class necesarios.

SAbe alguien que me esta pasando

yador
20 de Enero del 2004
Sustityo el import por este otro:import javax.media.Player;
y ahora me dice que el objeto Player no puede ser instanciado!!!y que el metodo play() no esta definido.

Parace ser que el import anterior es correcto,no?

chuidiang
20 de Enero del 2004
No conozco esas clases. Posiblemente Player tenga métodos abstractos y por tanto la clase Player no se puede instanciar (no se puede hacer new de ella).

Tienes obligatoriamente que hacer new de una clase hija que redefina esos métodos.

Otro mecanismo habitual, es que Player tenga un método estático que te devuelva un Player ya instanciado.

Por ejemplo, la clases de java java.awt.Toolkit es abstracta y la forma de obtenerla es

Toolkit miToolkit = Toolkit.getDefaultToolkit();

Se bueno.