好的,我有一个简单的程序加载音频文件并播放它们。
我用这个来加载我的音频文件
Clip c1 = null;
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(songPaths[k + 1]).getAbsoluteFile());
c1 = AudioSystem.getClip();
c1.open(audioInputStream);
} catch (Exception ex) {
System.out.println("Error with playing sound.");
ex.printStackTrace();
}
它在我的intellij中运行良好,当我试图构建工件并尝试运行jar时,它无法加载资源。我的songpaths数组如下所示:
private final String[] songPaths = {"res/fcpOriginal.wav", "res/fcpRemix.wav",
"res/ibizaOriginal.wav", "res/ibizaRemix.wav",
"res/pohOriginal.wav", "res/pohRemix.wav",
"res/sugarOriginal.wav", "res/sugarRemix.wav",
"res/wavesOriginal.wav", "res/wavesRemix.wav"};
我不太清楚发生了什么事。任何帮助都将不胜感激。
2条答案
按热度按时间h9a6wy2h1#
我想出来了。为任何未来的研究人员!
我变了
到
8i9zcol22#
因此,如果我正确理解了您的目录层次结构,那么您有以下几点:
src公司
out/工件/项目名称\u jar。
对象
你应该把res文件夹的副本放在project\u jar文件夹的名称中。因为应用程序的工作目录现在是您的name of project\u jar文件夹,所以当您使用像您这样的相对路径时,它将在name of project\u jar目录中查找res文件夹。:)