我的 jar 文件中的类路径有问题。带图片
getClass().getResource("picture.png")
效果很好。但我需要一个 mp3 文件。
如果我将整个路径放在 jar 文件之外,它就可以正常工作,但是如果我在
没有完整路径的情况下尝试它,就像getClass().getResource("picture.png")
它说“找不到文件”一样。因此,我正在为 song.mp3 的路径寻找解决方案,这样如果我构建 .jar 并在另一台计算机上打开它,歌曲仍然可以播放。
这是我的代码:
package bgmusic;
import java.io.*;
import javax.media.Format;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.PlugInManager;
import javax.media.format.AudioFormat;
public class Bgmusic {
public static void main(String[] args) {
Format input1 = new AudioFormat(AudioFormat.MPEGLAYER3);
Format input2 = new AudioFormat(AudioFormat.MPEG);
Format output = new AudioFormat(AudioFormat.LINEAR);
PlugInManager.addPlugIn(
"com.sun.media.codec.audio.mp3.JavaDecoder",
new Format[]{input1, input2},
new Format[]{output},
PlugInManager.CODEC
);
try{
Player player = Manager.createPlayer(new MediaLocator(new File("song.mp3").toURI().toURL()));
player.start();
}
catch(Exception ex){
ex.printStackTrace();
}
}
}