java - 用java压缩音乐的 jar ?

标签 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);
   }

最佳答案

你把声音文件放在哪里了?

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

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

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

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

关于java - 用java压缩音乐的 jar ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4942866/

相关文章:

java - 绘制录制的声音时出现奇怪的频率

java - 当 keytool.exe 无法从我的证书建立证书链时,我该怎么办?

java.lang.OutOfMemoryError : PermGen space after convering project to Maven 错误

maven - 在maven项目中添加外部jar文件

java - 带有本地 jar 和并发依赖的 Pom.xml

Java从字节流mp3

java - JVM/CLR 上相同字节的不同浮点值

java - 为非 .class 文件创建 jar 文件

video - ffmpeg 视频到 mp3 与专辑封面

c++ - 如何使用C++将MP3转换为PCM?