问题描述
我想创建一个游戏,它应该包含在后台播放的音乐。音乐文件是源文件夹中的 .wav 文件。
public class PlayMusic {
public static void main(String[] args) throws LineUnavailableException,IOException,UnsupportedAudioFileException,InterruptedException {
File file = new File("MusicPlayer/SnakeOST.wav");
AudioInputStream audioStream = AudioSystem.getAudioInputStream(file);
Clip clip = AudioSystem.getClip();
clip.open(audioStream);
clip.start();
clip.loop(Clip.LOOP_CONTINUOUSLY) ;
}
}
此代码在 Eclipse 中确实有效,但在导出代码后,.jar 文件中缺少音乐。
解决方法
您的问题是,您的路径正在 src 文件夹中寻找名为 MusicPlayer 的文件夹。 您想使用绝对路径,例如:
array = ['f','g','d','e','c','b','h','a']
first = sorted(array[::2]) # ['c','f','h']
second = sorted(array[1::2]) # ['a','g']
这样,路径将从 jar 的根目录开始,然后查找名为“MusicPlayer”的文件夹
编辑: 您需要对您的类的引用,例如:
/MusicPlayer/SnakeOST.wav
或
App.class.getResourceAsStream("/model/test.png")