【发布时间】:2015-08-22 02:00:16
【问题描述】:
我在静态方法中有以下代码:
clips.open(AudioSystem.getAudioInputStream(Sound.class.getResourceAsStream("folder/sound.wav")));
另外,folder 与 Sound.java 位于同一目录中。当我在 Eclipse 中运行程序时,会播放声音。但是,当我将文件导出到 JAR 文件时,声音不再播放。
如果我将getResourceAsStream() 更改为getResource(),Eclipse 和 JAR 文件都会播放声音。为什么会这样?我已经阅读了很多人建议 getResourceAsStream() 在 JAR 文件中根本不起作用。是这样吗,如果是这样,为什么不呢?
【问题讨论】:
-
我怀疑您的
getResource在 JAR 案例中的工作方式有什么不同。 -
有趣的链接。我注意到,在这些线程上,他们没有遵循确定一个有效而另一个无效的真正原因。我怀疑它是否涉及 InputStream 的使用(根据我的回答)。但是,声明生命太短暂也是有道理的,如果你有一些有用的东西,那就继续吧!
标签: java audio jar inputstream getresource