java - JAR 文件中的音频无法播放

标签 java audio netbeans jar

我遇到了有关音频的问题。

我正在使用 Netbeans 用 Ja​​va 进行编码,并且我想导出我的项目,以便它不需要 Netbeans 来运行,因此我决定创建一个 JAR 文件。我将程序的所有图像和音频文件 (aiff) 放在 src 文件夹中,以便可以从编码控制台外部访问它们。

我已将 InputStream 和 AudioStream 声明为全局变量,并且在 try catch block 中使用它们,在单击按钮时运行代码。

AudioPlayer.player.stop(audios);
    try{
        in = new FileInputStream (new File("src/glory.aiff"));
        System.out.println("Button Clicked");
        audios = new AudioStream (in);
        AudioPlayer.player.start(audios);
    }
    catch (Exception e)
    {
        JOptionPane.showMessageDialog(null, e);
    }

当我在 Netbeans 上运行该程序时,此代码完全正常,但是当我创建 JAR 文件时,音频无法播放,并且会弹出错误,提示找不到该文件。我在我的电脑和其他电脑上都试过了,也出现同样的问题。

我觉得奇怪的是,我之前提到的图片位于同一个 SRC 文件夹中,并且它们显示正确。我通过使用图标链接了这些图片,Netbeans 会自动生成代码。

    jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/IMG_2138.JPG")));

我自己做了研究,但是其他遇到此问题的人似乎没有使用与我相同的 AudioStream,我不知道如何调整它来解决我的问题!我还尝试过更改音频的文件路径,但每当它在 Netbeans 中工作时,它在我的 JAR 文件中就不起作用。

有人可以告诉我如何解决这个问题吗?

谢谢

罗汉

最佳答案

我认为在 Netbeans 中为 Java 程序创 build 置会更容易,并且它仍然可以在没有 Netbeans 的情况下运行。

您可以使用名为 excelsior jet 的软件来执行此操作。

您需要做的就是在 YouTube 上观看一段 5 分钟的简短视频,了解如何使用此功能,然后您就可以将设置安装到您的计算机和其他计算机中。

此外,在使用该软件进行设置之前,最好检查一下您的程序是否确实作为 jar 文件正常运行。

为此,只需转到保存 Netbeans 项目的位置,单击程序的项目,然后进入“dist”文件夹(这是存储项目的 jar 文件的位置)。点击jar文件,查看项目是否正常运行。

如果您在 dist 文件夹中找不到 jar 文件,那么很可能是因为您篡改了 java 项目中的“manifest.mf”文件或“build.xml”文件。

关于java - JAR 文件中的音频无法播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34331953/

相关文章:

java - 使用 LoginButton 监听 Facebook 注销。 (4.1)

c# - 通过麦克风录制播放声音来测量扬声器音量

java - 如何以编程方式接收 whatsapp 消息?

java - 定制一个jSpinner?

java - 如何用特定的字符串更新mysql中的列字段?

audio - 在 ffmpeg 中规范化音频 - 如何?

javascript - 音乐播放器仅从一个文件夹播放

java - 找到原始类型,缺少泛型类的返回参数

c++ - Netbeans 特定的 C++ 错误 "Undefined reference to XXX"-(已发布解决方案)

grails - 为什么我不能在Netbeans 8.2中创建新的grails应用程序?