Java - 如何从 jar 中加载 .wav?

Java - How do I load a .wav from inside the jar?

我一直在尝试在我的 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();
       }
    }

我需要将其更改为:

void PlaySound(String filename) {
        try (InputStream in = getClass().getResourceAsStream(filename)) {
            InputStream bufferedIn = new BufferedInputStream(in);
            try (AudioInputStream audioIn = AudioSystem.getAudioInputStream(bufferedIn)) {
                Clip clip = AudioSystem.getClip();
                clip.open(audioIn);
                clip.start();
            }
        } catch (Exception e) {
           e.printStackTrace();
       }
    }

但我实际上是从这里得到这个解决方案的: java.io.IOException: mark/reset not supported