用java压缩音乐罐?

时间:2011-02-09 08:52:03

标签: java jar mp3 jlayer

我试图将音乐添加到我制作的应用程序中。首先,我尝试使用.wav文件,尽管它们变得如此巨大,以至于应用程序变得太大而无法上传到任何地方。

所以我将文件更改为.mp3,尝试了JMFJLayer,尽管它们都无法在可运行的jar上运行(即使它们在我没有导出时工作正常它们)。

所以任何人都有关于如何使用可运行的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);
   }

1 个答案:

答案 0 :(得分:1)

您在哪里准确放置声音文件?

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

离。创建一个名为sounds的新包,然后:

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

老实说,我没有尝试过声音,但是当我使用图像时,这个问题发生在我身上。我把它们放在一个包里,一切都很好......