Java 播放声音对我不起作用

Java 播放声音对我不起作用,java,audio,Java,Audio,我试着制作一个简单的文件来播放一个简单的gong.wav文件。我正在使用eclipse。我将gong.wav文件的副本放在bin文件夹和src文件夹中。然后我运行了这段代码,当然,它包含了必要的导入 public class Sound { public static void main(String[] args) { File gong = new File("gong.wav"); System.out.println(gong.exists())

我试着制作一个简单的文件来播放一个简单的gong.wav文件。我正在使用eclipse。我将gong.wav文件的副本放在bin文件夹和src文件夹中。然后我运行了这段代码,当然,它包含了必要的导入

public class Sound {

    public static void main(String[] args) {
        File gong = new File("gong.wav");
        System.out.println(gong.exists());
        playSound(gong);
    }
    static void playSound(File sound) {
        try {
            Clip clip = AudioSystem.getClip();
            clip.open(AudioSystem.getAudioInputStream(sound));
            clip.start();
            Thread.sleep(clip.getMicrosecondLength()/1000);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
当我运行此代码时,它没有播放声音,Thread.sleep没有执行任何操作,gong.exists返回false。有什么想法吗

谢谢

您应该将gong.wav文件放入项目主页

需要明确的是,projecthome是src和bin所在的目录


如果您指定了绝对路径,是否有效?您还应该在eclipse控制台中看到一个异常,对吗?@freedev我对您的答案的一个注释包含了我在eclipse控制台中得到的错误。我在eclipse中尝试了您的代码,它工作得非常好。我刚刚下载了一个。我会试着看一下你的评论,没有承诺,但我的回答是正确的。好吧,这使得gong.exists返回真的,但我得到了一个错误。以下是它输出到控制台的完整错误消息:javax.sound.sampled.LineUnavailableException:格式为PCM_签名48000.0 Hz、24位、立体声、6字节/帧、不支持little-endian的行。com.sun.media.sound.DirectAudioDevice$DirectDL.implOpenUnknown Source位于com.sun.media.sound.DirectAudioDevice$DirectClip.implOpenUnknown Source位于com.sun.media.sound.DirectAudioDevice$DirectClip.openUnknown Source位于com.sun.media.sound.DirectAudioDevice$DirectClip.openUnknownSound.playSoundSound.java:16 at Sound.mainSound.java:11你能告诉我如何解决这个问题吗?我看了你链接到我的讨论,看起来讨论中的那个家伙最终使用了不同的java资源来播放声音。但我想让它工作。我尝试使用一个名为01 Keo Lake.wav的文件,但没有工作。
project_home/bin
project_home/gong.wav
project_home/src
project_home/src/Sound.java