gpt4 book ai didi

java - 尝试播放音频,使我没有声音

转载 作者:行者123 更新时间:2023-12-03 02:35:26 29 4
gpt4 key购买 nike

 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。我希望将其用作简单背景。

最佳答案

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

Main.class.getResourceAsStream("*PUT YOUR CLASS PATHNAME*\\Sounds" + url))

编辑:

仅使用音频文件的绝对路径。删除整个 Main.class.getResourceAsStream并使用
try {
String fileName = "..add the rest of the absolute path..\\Draco-s-Pong-master\\demo\\Sounds\\Draco Background.wav";
File file = new File(fileName);
if (file.exists()) {
AudioInputStream inputStream = AudioSystem.getAudioInputStream(file);
Clip clip = AudioSystem.getClip();
clip.open(inputStream);
clip.setFramePosition(0); // to start from the beginning
clip.start();
} else {
throw new RuntimeException("Sound: file not found: " + fileName);
}
} catch(Exception e){
stopPlay();
System.err.println(e.printStackTrace());
}

因此,现在您将知道问题是否出在运行时异常的文件上。否则,它在其他地方。

关于java - 尝试播放音频,使我没有声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36662055/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com