用java压缩音乐的罐子?

问题描述:

我试图将音乐添加到我制作的应用程序中。首先,我尝试使用.wav文件,尽管它们变得非常大以至于应用程序变得太大而无法在任何地方上传。用java压缩音乐的罐子?

所以我将文件改为.mp3,试图JMFJLayer虽然他们都将无法在运行的罐子工作(即使他们的工作很好,当我还没有导出它们)。

因此,任何人都有关于如何使用可运行的jar来播放压缩音乐的提示?

下面是JLayer代码在出口时它停止在f = new File(u.toURI())工作没有抛出任何异常......

try { 

    URL u = cl.getResource("New Beginnings.mp3"); 
    f = new File(u.toURI()); 

} catch (URISyntaxException e1) { 
    e1.printStackTrace(); 
} 

try { 

    FileInputStream fis = new FileInputStream(f); 
    p = new Player(fis); 
    p.play(); 

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

编辑:

try { 

     InputStream fis = ClassLoader.getSystemClassLoader().getResourceAsStream(temp+".mp3"); 
     p = new Player(fis); 
     p.play(); 

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

哪儿了:与改变上面的代码修正你准确放置声音文件?

您应该创建项目中一个新的包,并把资源在那里,然后通过发送一个完整的路径读取文件:

前。创建一个新的包叫的声音,然后:

InputStream fis = ClassLoader.getSystemClassLoader().getResourceAsStream("/sounds/"+temp+".mp3"); 
    p = new Player(fis); 
    p.play(); 

说实话,我没有声音尝试,但这一问题发生在我身上时,我使用的图像。我把它们放在一个包里,一切正常。

+0

你不必在你的项目中创建一个新的包,只要把它放在src里面就可以了。正如前面提到的,我修改了代码后,我忘记了在jar中创建新文件是不允许的。 :o – Skarion 2011-02-09 10:39:00