IntelliJ 无法通过文件的相对路径定位文件,只能通过绝对路径定位文件



在我的项目中,我需要使用我播放的3.wav文件。这些文件与我使用它们路径的类位于同一目录中。问题是,只有当我指定文件的绝对路径时,我才能听到声音。当我使用相对路径时,它不起作用。我试了很多组合,但都不管用。我需要使用相对路径,因为这是一个插件项目。当我插入仅包含文件名的File引用时,IntelliJ可以看到该文件,但该引用只是临时的,显然不能解决我的问题。我的目录我当前的路径:

private String soundLevel1 = "/de/halirutan/keypromoterx/sound_effects/duck_quack_sound_effect.wav";

我的文件对象:

File file = new File(filePath);

我的音频开始:

AudioListener listener = new AudioListener();
try (AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file)) {
Clip clip = AudioSystem.getClip();
try (clip) {
clip.addLineListener(listener);
clip.open(audioInputStream);
clip.start();
listener.waitUntilDone();
}

尝试使用读取文件

URL url = getClass().getResource(soundLevel1);
AudioSystem.getAudioInputStream(url);

使用getClass().getResource(),您正在读取项目中的文件

wav带有绝对路径,而相对则不播放。

问题声音不是阅读目录(这是一个问题标题(

您没有错误。

clip.start();之前生成System.out.println("play");并查看是否执行

最新更新