elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [SOLUCIONADO]Abrir Audio.wav contenido en un Jar ¿?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO]Abrir Audio.wav contenido en un Jar ¿?  (Leído 11,027 veces)
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
[SOLUCIONADO]Abrir Audio.wav contenido en un Jar ¿?
« en: 28 Julio 2009, 00:23 am »

Hola camaradas del foro, durante mi corta vida de programador he aprendido algunas técnicas y trucos para la programación en Java, y estas técnicas a su vez han ido mejorando, como por ejemplo, antes escribia

Código:
etq1 = new JLabel( "", new ImageIcon( "images/Stop.png" ), SwingConstants.LEFT );

como muchos sabran al guardar esto en un jar, y cambiar de jar de direccion no muestra la imagen (aun sabiendo que esta guardada en nuestro jar)

pero si hacemos lo siguiente

Código:
botDetener.setIcon(new ImageIcon(getClass().getResource("/images/Stop.png")));

crear nuestro jar y cambiar de direccion el jar, si nos muestra la imagen. (parece ser que la clave esta en getClass().getResource)

Bien pues ahora tengo un problema con el audio.
He guardado un Audio.wav en un jar, al momento de cambiar el jar de direccion no lo reproduce (solo estando e la misma direccion, y asi no tiene chiste)

por ejemplo tengo esto:

Código:
private void botReproducirActionPerformed(ActionEvent evt) {

       String path = "Audio.wav";
//javax.sound.sampled.Clip aReproducir;
try
{
            sonido=AudioSystem.getClip();
   sonido.open(AudioSystem.getAudioInputStream(new File(path)));
   sonido.start();
}
catch (Exception fallo)
{
System.out.println(fallo);
}
}

y quiero saber si alguien sabe que codigo debe de ir para que nuestro jar lo pueda reconocer (por eso puse el ejemplo de la imagen), y que por favor me pueda explicar como debo hacerlo.

espero me haya explicado.

Muchas gracias

Saludos


« Última modificación: 22 Agosto 2010, 21:58 pm por LEYER » En línea

abc
juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: Abrir Audio.wav contenido en un Jar ¿?
« Respuesta #1 en: 28 Julio 2009, 08:09 am »

getClass().getResource() se usa para obtener la ruta relativa en relación al programa. Debes usar esta forma y no la forma absoluta ya que si alguna vez decides cambiar de carpeta el programa, tendrías que revisar el código para que siga funcionando.
Lo bueno es que se puede usar con cualquier tipo de archivos, no solo imagenes. No sé programar con sonidos en Java, pero supongo que si modificas el valor de la variable Path(absoluta) por una relativa usando getClass().getResource(), debería funcionar.


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Abrir Audio.wav contenido en un Jar ¿?
« Respuesta #2 en: 30 Julio 2009, 07:45 am »

getClass().getResource() se usa para obtener la ruta relativa en relación al programa. Debes usar esta forma y no la forma absoluta ya que si alguna vez decides cambiar de carpeta el programa, tendrías que revisar el código para que siga funcionando.
Lo bueno es que se puede usar con cualquier tipo de archivos, no solo imagenes. No sé programar con sonidos en Java, pero supongo que si modificas el valor de la variable Path(absoluta) por una relativa usando getClass().getResource(), debería funcionar.

no amigo ya intente de varias formas aqui algunas de ellas y lo que me muestra


1. URL url = getClass().getResource("welcome.wav");
      String path = ""+ url;
      System.out.println("Ruta"+path);
(al intentar reproducir me muestra eso)
Ruta file:/C:/Reproductor/welcome.wav

java.io.FileNotFoundException: file:\C:\Reproductor\welcome.wav (El nombre de archivo, directorio o etiqueta del volumen no es válido)



2. String path = getClass().getResource("welcome.wav").toString();
(al intentar reproducir me muestra esto)
Ruta file:/C:/Reproductor/welcome.wav

java.io.FileNotFoundException: file:\C:\Reproductor\welcome.wav (El nombre de archivo, directorio o etiqueta del volumen no es válido)

3. sonido=AudioSystem.getClip();
    sonido.open(AudioSystem.getAudioInputStream(new File(getClass().getResource("welcome.wav").toURI())));

(en este caso si lo reproduce pero solo estando a nivel del jar :S)


Me estoy volviendo loco, he mirado que algunos juegos tienen sonidos dentro del jar y se reproducen. Pero igual seguire buscando o espero alguien pueda ayudarme
« Última modificación: 30 Julio 2009, 08:07 am por Darhius » En línea

abc
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Abrir Audio.wav contenido en un Jar ¿?
« Respuesta #3 en: 9 Agosto 2009, 05:04 am »

Bueno contesto a mi duda  ;D (despues de mucho intentar)

Esto es para reproducir un sonido dentro de un JAR, en una clase extendida a JFrame (Me parece que para los applets es diferente).

Se utiliza la clase InputStream.

Código:
private void reproducir(String nombre)
{
     InputStream path = getClass().getResourceAsStream("/sounds/" +nombre);

try
{
sonido=AudioSystem.getClip();
sonido.open(AudioSystem.getAudioInputStream(path));
sonido.start();

}catch(Exception fallo){
System.out.println(fallo);
}
}

Aunque tengo unos problemas con sonidos grandes (en cuanto a duración), y cuando clickeo reproducir se traslapan los sonidos (en caso de que esté en reproduccion alguno), pero intentaré arreglar eso.

Por lo menos espero y le sirva a alguien.

Saludos


« Última modificación: 9 Agosto 2009, 05:06 am por Darhius » En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SOLUCIONADO]Sacar datos de contenido web
.NET (C#, VB.NET, ASP)
.:Weeds:. 4 3,687 Último mensaje 26 Mayo 2011, 01:06 am
por .:Weeds:.
[solucionado] Pulse audio fail :(
GNU/Linux
Nakp 3 6,798 Último mensaje 14 Junio 2011, 00:37 am
por Nakp
Android - Problema validando el contenido de un EditText (Solucionado + o - )
Java
Aberroncho 1 5,811 Último mensaje 14 Abril 2014, 23:54 pm
por Aberroncho
(Solucionado) S strings variando su contenido.
Programación General
Tachikomaia 1 2,485 Último mensaje 5 Noviembre 2019, 18:06 pm
por Tachikomaia
Sin audio en Windows 10 y si en XP, en el mismo PC ( Solucionado ) « 1 2 »
Windows
heaviloto 10 5,087 Último mensaje 26 Marzo 2024, 16:28 pm
por heaviloto
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines