Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: MauricioEF en 17 de Mayo 2017, 05:46

Título: JAR no tiene audio no se escucha problema leer archivos empaquetados ejecutable
Publicado por: MauricioEF en 17 de Mayo 2017, 05:46
¡Muy buenas noches a todos! Estoy tratando de desarrollar un videojuego con Java, el problema es que, al momento de correr el programa en el IDE de Netbeans, éste lee el audio sin problema alguno, el problema entra cuando creo el archivo JAR del respectivo programa... entonces todo carga bien, pero se queda mudo... dice que no puede encontrar la ruta.

Mi código para leer audio es:
Código: [Seleccionar]
blic class MusicPlayer {
    public static Clip sound;
    public MusicPlayer(){
    }
   
    public void playSound(String string){
             InputStream path=getClass().getResourceAsStream("/Sounds/"+string);
             try {
         sound = AudioSystem.getClip();
            sound.open(AudioSystem.getAudioInputStream(path));
            sound.start();
        }
            catch (Exception tipoerror) {
            tipoerror.printStackTrace();
        }
    }

Además... mis archivos de sonido con extensión .wav están correctamente colocados en el package "Sounds". por lo mismo utilizo una ruta relativa para correrlo. Aunque, incluso cuando coloco una ruta absoluta, no lee el audio en el JAR.

¿Alguna idea de cuál pueda ser el fallo y, por supuesto, cómo puedo solucionar éste?
Muchas gracias de antemano.
Título: Re:¡Mi JAR no tiene audio!
Publicado por: Kabuto en 17 de Mayo 2017, 11:25
Esto excede por completo mis conocimientos Java.

Pero si puedo comentar que yo a veces he tenido problemas para leer determinados archivos, por ejemplo archivos de texto plano o fuentes TrueType, si las "empaquetaba" dentro del JAR.
La única forma de acceder a ellas, era colocándolos en una ruta externa, por ejemplo una carpeta que acompañase al JAR.

Esto no me pasaba con imagenes, podía incluirlas en el JAR y acceder a ellas usando por ejemplo:
Toolkit.getDefaultToolkit().getImage(MiClase.class.getResource("/gui/icono.png")



Es decir, si los archivos estaban dentro del JAR, no los encontraba, a pesar de que ejecutándolo desde el IDE si aceptaba esas ubicaciones.
Para acceder a ellos, tenía que dejarlos fuera del JAR y acceder a ellos mediante rutas relativas.

Prueba a ver si haciendo esto te funciona. Y luego a ver si alguien más sabio que nosotros puede explicar como acceder a cualquier tipor de archivo que esté inlcuido dentro del JAR