不要从jar文件中读取音频文件

时间:2015-06-22 23:32:43

标签: java audio jar classloader

好的,我已经在这里工作了几个小时,我已经检查了其他问题以寻求帮助,我已经尝试了所有的建议,但似乎没有任何建议。

我正在将一个文件夹(称为“audio”)打包到我的项目中,其中包含一堆.wav文件。我试图引用这些文件,但它们永远不会在JAR中被引用,只能在一个名为“audio”的单独文件夹中引用。

try {
    Clip clip = AudioSystem.getClip();
    InputStream inn = this.getClass().getClassLoader().getResourceAsStream("/audio/" + rangod + ".wav");
    AudioInputStream inputStream = AudioSystem.getAudioInputStream(inn);
    clip.open(inputStream);
    FloatControl gainControl = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
    gainControl.setValue(-10.0f);
    clip.start();
} catch (Exception e1) {
    e1.printStackTrace();
}

问题孩子似乎是

InputStream inn = this.getClass().getClassLoader().getResourceAsStream("/audio/" + rangod + ".wav");

从我在其他类似问题上看到的情况来看,在“audio”前面加上“/”应该引用我的jar文件中的音频文件夹,其中删除“/”前面的“/” audio“应该引用与我的jar文件相同的目录中的audio文件夹(即:/ desktop / audio)

这两种方法似乎都引用了我的jar外面的同一个文件夹,而不是我jar中的那个文件夹。

我的层次结构是:

audio
----[audio files]
net
----fragbashers
--------rgp
------------[class files]

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,这是一个非常简单的解决方案,我忽略了。我的所有WAV文件都以小写形式保存,并且我没有将拾取的字符串转换为小写,因此它认为文件不存在。