试图播放音频,让我无效

时间:2016-04-16 08:43:37

标签: java audio

 public static synchronized void playSound(final String url) {
    new Thread(new Runnable() {
        // The wrapper thread is unnecessary, unless it blocks on the
        // Clip finishing; see comments.
        public void run() {
            try {
                Clip clip = AudioSystem.getClip();
                AudioInputStream inputStream = AudioSystem.getAudioInputStream(
                        Main.class.getResourceAsStream("Draco-s-Pong-master\\demo\\Sounds" + url));
                clip.open(inputStream);
                clip.start();
            } catch (Exception e) {
                System.err.println(e.getMessage());
            }
        }
    }).start();
    playSound("Draco Background.wav");
}

我看过其他线程的几十个代码,他们都给我null并继续发送垃圾邮件,直到我关闭程序。我在Sounds文件夹中有.wav文件,我甚至把它放在项目的任何地方它每次都给我null。我想要它的简单背景。

1 个答案:

答案 0 :(得分:1)

将您的音频文件(在您的情况下为声音文件夹)移动到您的类文件夹,然后只需使用更新的路径调用它。如

char (&)[N]

修改

仅使用音频文件的绝对路径。不要使用整个Main.class.getResourceAsStream("*PUT YOUR CLASS PATHNAME*\\Sounds" + url)) 并使用

Main.class.getResourceAsStream

现在您将了解问题是否与提供运行时异常的文件有关。否则它就在别的地方。