Foros del Web » Programación para mayores de 30 ;) » Java »

Ruta absoluta/relativa, File/InputStream

Estas en el tema de Ruta absoluta/relativa, File/InputStream en el foro de Java en Foros del Web. Buenas!! Ya estoy por aquí otra vez! Vamos a ello! Mi problema es que estoy usando la libreria "BasicPlayer" de javaZoom, para reproducir archivos de ...
  #1 (permalink)  
Antiguo 16/06/2011, 10:46
 
Fecha de Ingreso: enero-2009
Mensajes: 119
Antigüedad: 15 años, 4 meses
Puntos: 1
Ruta absoluta/relativa, File/InputStream

Buenas!! Ya estoy por aquí otra vez! Vamos a ello!

Mi problema es que estoy usando la libreria "BasicPlayer" de javaZoom, para reproducir archivos de audio. Consigo reproducir sin problemas los archivos pero, siempre y cuando los llame con "File", si los llamo con "InputStream" me fallan algunos ficheros de audio y no tengo ni idea porque, he probado y remirado todo rincon de internet y no he visto nada.

Mi codigo actual es el siguiente:

Código:
		
nivel = new BasicPlayer();
		try {
			InputStream in = getClass().getResourceAsStream("Musica/level.mp3");
			nivel.open(in);
		} catch (BasicPlayerException e) {
			e.printStackTrace();
		}
Este codigo funciona perfectamente, pero con algunos ficheros, los archivos que me fallan son sonidos (osea ficheros pequeños que a veces no duran ni 2 segundos). Me da error "EOFException" con los mp3, y formato no soportado con los WAV. En cambio, si tengo un wav de una canción y lo añado, con exactamente el mismo codigo funciona... Tengo la solucion de arreglar esto o...

Ahora, yo en vez de usar InputStream, uso la clase "File", y me reproduce todo sin ningun tipo de problema, el codigo seria:

Código:
		nivel = new BasicPlayer();
		try {
			nivel.open(new File("d:\\level.mp3")); //o wav o lo que sea
		} catch (BasicPlayerException e) {
			e.printStackTrace();
		}
Así funciona Perfecto, pero el unico problema es que no puedo (o nose, que es mas probable) darle una ruta relativa, como lo hago en InputStream, y como esto lo empaquetare en un jar, la necesito.

Tengo los ficheros de audio, importados con eclipse dentro de una carpeta "Musica".

Muchas gracias!
__________________
http://www.isosps3.com/ - Tu web de de PS3, aquí puedes encontrar desde información hasta backups!
  #2 (permalink)  
Antiguo 16/06/2011, 15:09
Avatar de sivadmp  
Fecha de Ingreso: febrero-2011
Ubicación: La Paz - Bolivia
Mensajes: 293
Antigüedad: 13 años, 2 meses
Puntos: 20
Respuesta: Ruta absoluta/relativa, File/InputStream

para reproducir archivos de sonido necesitas librerias adicionales

como para MP3 necesitas tener "tritonus_share.jar"
__________________
agradecer no cuesta nada
Entre más información proporciones más fácil será ayudarte, y asi evitar adivinar el problema con el que cuentas.
  #3 (permalink)  
Antiguo 16/06/2011, 15:59
 
Fecha de Ingreso: enero-2009
Mensajes: 119
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Ruta absoluta/relativa, File/InputStream

Ya tengo las librerias, estoy usando BasicPlayer de JavaZoom como digo. El unico problema es la forma de la ruta para cargar los ficheros por relatividad.
__________________
http://www.isosps3.com/ - Tu web de de PS3, aquí puedes encontrar desde información hasta backups!
  #4 (permalink)  
Antiguo 16/06/2011, 16:22
 
Fecha de Ingreso: febrero-2010
Ubicación: Gran Canaria
Mensajes: 280
Antigüedad: 14 años, 2 meses
Puntos: 12
Respuesta: Ruta absoluta/relativa, File/InputStream

Yo usaba este http://www.javazoom.net/javalayer/sources.html pero no me terminaba de convencer y hice este, no lo he probado con mp3, pero con wav lo uso para un Teléfono SIP y no falla.


Código:
package es.jsys.sonido;

/**
 *
 * @author Javier Hernández
 */
import java.io.*;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.sound.sampled.*;
   
 public class SonidoRing {
   public static Clip clip;
         
    public SonidoRing() {
       try {
          URL url = getClass().getResource("nokia-ring.wav");
          AudioInputStream audioIn = AudioSystem.getAudioInputStream(url);
          clip = AudioSystem.getClip();
          clip.open(audioIn);
          clip.loop(Clip.LOOP_CONTINUOUSLY);
       } catch (UnsupportedAudioFileException e) {
           Logger.getLogger(SonidoRing.class.getName()).log(Level.SEVERE, null, e);
       } catch (IOException e) {
           Logger.getLogger(SonidoRing.class.getName()).log(Level.SEVERE, null, e);
       } catch (LineUnavailableException e) {
           Logger.getLogger(SonidoRing.class.getName()).log(Level.SEVERE, null, e);
       }
    }
 
    public static void parar(){
        clip.stop();
    }
 
 
 }
Tienes más aquí

Sobre las rutas yo lo utilizo así para grabar las llamadas en el servidor y va bien:

ServidorVOIP.grabarLlamada("/root/conversaciones_grabadas/" + nombre_grabacion);

Con el File no recuerdo ahora, pero creo que vale igual, de todas maneras en google hay muchos ejemplos donde se utilizan directorios con File().

Aquí tienes info http://download.oracle.com/javase/6/...a/io/File.html , para Windows es diferente que para Gnu/Linux.

Espero que te pueda servir.

Saludos
  #5 (permalink)  
Antiguo 16/06/2011, 16:42
 
Fecha de Ingreso: enero-2009
Mensajes: 119
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Ruta absoluta/relativa, File/InputStream

No es lo que busco, lo que yo busco es una ruta para acceder a mi archivo .mp3, .wav o lo que sea.

Algo como el "AudioInputStream" pero me sigue dando el mismo fallo, que el inputStream, de EOF, y nose como solucionarlo. Sigue mi duda!

Muchas gracias por las respuestas!
__________________
http://www.isosps3.com/ - Tu web de de PS3, aquí puedes encontrar desde información hasta backups!
  #6 (permalink)  
Antiguo 16/06/2011, 16:43
 
Fecha de Ingreso: febrero-2010
Ubicación: Gran Canaria
Mensajes: 280
Antigüedad: 14 años, 2 meses
Puntos: 12
Respuesta: Ruta absoluta/relativa, File/InputStream

Te dejo también como ejemplo un trozo de código que utilizo para descargar un archivo de audio desde un servidor y también lo utilizo en otra clase para reproducir audio obteniendo los archivos desde un servidor remoto, ya esté en una red local o en internet. Y sin utilizar ninguna librería, todo con javax.sound.sample.*

El objeto URL que es el archivo de audio en el servidor remoto:
Código:
url = new URL("http", "192.168.0.1", "/canciones/" + nombre + ".wav");
Y según el SO empleas uno u otro:
Código:
/** Windows **/
            oS = new FileOutputStream("C:\\"+filename+".wav");
            /** Linux **/
//            oS = new FileOutputStream("/home/canariastic/"+filename+".wav");
  #7 (permalink)  
Antiguo 16/06/2011, 16:53
 
Fecha de Ingreso: febrero-2010
Ubicación: Gran Canaria
Mensajes: 280
Antigüedad: 14 años, 2 meses
Puntos: 12
Respuesta: Ruta absoluta/relativa, File/InputStream

Cita:
Iniciado por GENESISBM Ver Mensaje
No es lo que busco, lo que yo busco es una ruta para acceder a mi archivo .mp3, .wav o lo que sea.

Algo como el "AudioInputStream" pero me sigue dando el mismo fallo, que el inputStream, de EOF, y nose como solucionarlo. Sigue mi duda!

Muchas gracias por las respuestas!
AudioInputStream es esto http://www.javadocexamples.com/java/...separator.html

Así que no se como buscas la ruta con eso.

¿Qué Sistema Operativo utilizas, o en el cual vaya a trabajar la aplicación?

¿Puedes poner la ruta a tus archivos de sonido, está dentro del jar o en algún directorio en el SO o dónde?
  #8 (permalink)  
Antiguo 16/06/2011, 17:00
 
Fecha de Ingreso: febrero-2010
Ubicación: Gran Canaria
Mensajes: 280
Antigüedad: 14 años, 2 meses
Puntos: 12
Respuesta: Ruta absoluta/relativa, File/InputStream

Vale creo que ya te entendí, puedes usar un InputStream ahí en vez del File, y también un objeto URL >> http://www.javazoom.net/jlgui/docs/d...io.InputStream)
  #9 (permalink)  
Antiguo 16/06/2011, 17:24
 
Fecha de Ingreso: enero-2009
Mensajes: 119
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Ruta absoluta/relativa, File/InputStream

Así ya lo hice, como puedes ver en el primer CODE que copie, pero me da fallo EOF, nose si es porque el archivo es muy pequeño, hay alguna forma de "Forzarlo" o alguna otra manera?
__________________
http://www.isosps3.com/ - Tu web de de PS3, aquí puedes encontrar desde información hasta backups!

Etiquetas: ruta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:13.