gpt4 book ai didi

java - 尝试播放声音时出现NullPointerException

转载 作者:行者123 更新时间:2023-12-03 02:30:07 24 4
gpt4 key购买 nike

我有一个简单的程序,在运行时会发出声音。
码:

public static void main(String[] args) {
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(Main.class.getResource("ProgramAudio\\chechen.wav"));
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();

} catch (Exception ex) {
ex.printStackTrace();
}
}
错误:
java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:222)
at java.desktop/javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1032)
at aChatProgramAudio.audio2.main(audio2.java:13)
给定目录可能与此有关,但确实存在。

最佳答案

一些尝试的可能性。
在此文件中,将chechen.wavMain.java放在同一软件包文件夹中。

URL url = Main.class.getResource("chechen.wav");
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
如果您的包文件夹结构类似于以下内容(其中 ProgramAudiosrc下的包):
src/yourProgramCodePackage/Main.java
src/ProgramAudio/chechen.wav
然后,应使用“绝对”寻址进行以下操作。
URL url = Main.class.getResource("/ProgramAudio/chechen.wav");
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
如果您具有以下文件夹结构,其中 ProgramAudio是其中包含 Main.java的代码包的子文件夹,则应使用“相对”寻址形式。
src/yourProgramCodePackage/Main.java
src/yourProgramCodePackage/ProgramAudio/chechen.wav

URL url = Main.class.getResource("ProgramAudio/chechen.wav");
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
遵循包名称约定并使用小写或驼色小写字母可能是个好主意,例如,如果 programAudio用作包名称,则使用小写或驼峰。

关于java - 尝试播放声音时出现NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63691829/

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