Vamos por partes.
1º-Tengo una clase principal en la que creo un filtro para que solo se puedan reproducir archivos de audio, hasta ahi todo bien.
2º-Tengo otra clase para reproducir el archivo de audio que seleccione, la clase tiene el siguiente código.
public class Sound
{
public Sound(File f)
{
Player archivo;
try
{
archivo = new Player (new FileInputStream (f.getAbsolutePath().toString()));
archivo.play();
} catch (JavaLayerException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
{
public Sound(File f)
{
Player archivo;
try
{
archivo = new Player (new FileInputStream (f.getAbsolutePath().toString()));
archivo.play();
} catch (JavaLayerException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Con este código me reproduce el sonido sin problemas, pero no me permite ver ningún elemento de los que tengo en el JFrame hasta que el archivo de audio finaliza, no me deja ni cerrar el JFrame ni nada.