【发布时间】:2015-09-27 04:31:27
【问题描述】:
我一直在尝试在我的 java 项目中播放一个 .wav 文件并且我得到了它的工作....或者我是这么认为的。当我将它导出到可执行 jar 文件时,除非它们与 jar 文件位于同一目录中,否则不会播放声音。我希望它加载 jar 文件内部的声音。 这是我现在使用的代码:
void PlaySound(String filename) {
try (InputStream in = getClass().getResourceAsStream(filename)) {
try (AudioInputStream audioIn = AudioSystem.getAudioInputStream(in)) {
Clip clip = AudioSystem.getClip();
clip.open(audioIn);
clip.start();
}
} catch (Exception e) {
e.printStackTrace();
}
}
【问题讨论】:
-
wave 文件的路径是什么(在 Jar 文件中),你用什么来尝试加载它?
-
听起来 Wave 文件没有嵌入到 Jar 文件中。你是如何创建jar文件的?与您的源/项目相关的波形文件位于何处?
-
什么意思,我用什么来尝试加载它?
-
你在使用什么路径
String(值,如/path/to/my/awesome/sounds/...)? -
还没准备好发表评论,想换行。在 jar 文件中,我的声音位于名为 nathan 的文件夹中。这是我的包名。忘了说,这种播放声音的方法效果很好,但在我导出的时候就不行了。