Foro de elhacker.net

Programación => Java => Mensaje iniciado por: NathanD en 23 Noviembre 2013, 17:03 pm



Título: No se reproduce archivo .wav: javax.sound.sampled.UnsupportedAudioFileException
Publicado por: NathanD en 23 Noviembre 2013, 17:03 pm
Buenas, estoy tratando de reproducir un archivo de audio (.wav en este caso, que por lo que he visto es el más extendido en estos casos) para luego implementarlo en otro programa.

Antes de ponerme a ello, he usado AudioSystem.getAudioFileTypes() para ver qué audios están soportados. La salida es la siguiente:
Código:
wav
au
aif

Pues bien, al intentar reproducir un .wav, me salta la excepción que he puesto en el título:

Código
  1. javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file

He probado cambiando el nombre del archivo por uno inexistente por si el problema era que no encontraba el archivo, pero no es así; sí lo encuentra, pero no es capaz de reproducirlo.

Os dejo el código fuente:

Código
  1. import java.io.File;
  2.  
  3. import javax.sound.sampled.AudioSystem;
  4. import javax.sound.sampled.Clip;
  5.  
  6. public class Reproductor {
  7.  
  8. public static void main(String[] args) {
  9. try {
  10.  
  11. Clip sonido = AudioSystem.getClip();
  12.  
  13. sonido.open(AudioSystem.getAudioInputStream(new File("another.wav")));
  14.  
  15. sonido.start();
  16.  
  17. while (sonido.isRunning())
  18. Thread.sleep(1000);
  19.  
  20. sonido.close();
  21.  
  22. } catch (Exception e) {
  23. System.out.println(e.getMessage());
  24. }
  25. }
  26.  
  27. }

Gracias de antemano y un saludo.


Título: Re: No se reproduce archivo .wav: javax.sound.sampled.UnsupportedAudioFileException
Publicado por: sapito169 en 23 Noviembre 2013, 18:08 pm
de casualidad cometiste el error de usar linux?

trata con la dirección   completa del archivo incluyendo la extension


Título: Re: No se reproduce archivo .wav: javax.sound.sampled.UnsupportedAudioFileException
Publicado por: NathanD en 23 Noviembre 2013, 18:25 pm
de casualidad cometiste el error de usar linux?

trata con la dirección   completa del archivo incluyendo la extension
Sí, estoy usando Ubuntu, en Windows no lo he probado. Acabo de intentarlo dándole el path absoluto, tal que así:
Código
  1. File file = new File("another.wav");
  2. sonido.open(AudioSystem.getAudioInputStream(new File(file.getAbsolutePath())));
Pero sigue saltando la misma excepción.

Gracias por responder y un saludo.


Título: Re: No se reproduce archivo .wav: javax.sound.sampled.UnsupportedAudioFileException
Publicado por: sapito169 en 23 Noviembre 2013, 22:20 pm
recuerda que en linux la dirección comienza con barra

/carpetita/subcarpetita/archivo.wab

pon toda la ruta completa desde el inicio sin que sea relativa