2

我试图将音乐添加到我制作的应用程序中。首先,我尝试使用.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);
   }
4

1 回答 1

1

你把声音文件放在哪里?

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

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

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

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

于 2011-02-09T10:14:06.760 回答