gpt4 book ai didi

java - 为什么执行AudioSystem.getAudioInputStream时出现nullpointerException?

转载 作者:行者123 更新时间:2023-12-01 16:38:10 25 4
gpt4 key购买 nike

我确信文件名是正确的!那么 AudioSystem.getAudioInputStream 中的问题是什么?

public class Main {

public static void main(String[] args) {
public static Clip clip;
AudioInputStream audioStream = null;
try {
//URL soundUrl = Main.class.getResource("D:/eclipse/workplace/AudioTestAPI/2.mp3");
URL soundUrl = Main.class.getResource("D:/eclipse/workplace/AudioTestAPI/3.wav");
audioStream = AudioSystem.getAudioInputStream(soundUrl);//42
clip.open(audioStream);
} catch(LineUnavailableException e) {
e.printStackTrace();
} catch(UnsupportedAudioFileException ex) {
ex.printStackTrace();
} catch(IOException eo) {
eo.printStackTrace();
}

clip.start();

do {
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} while(clip.isActive());
}

}

结果:

Exception in thread "main" java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:221)
at java.desktop/javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1032)
at Main.main(Main.java:42)

最佳答案

发生java.lang.NullPointerException是因为您的变量soundUrlnull

试试这个:

File file = new File("D:/eclipse/workplace/AudioTestAPI/3.wav");
audioStream = AudioSystem.getAudioInputStream(file);

让我知道我的建议后发生了什么。

编辑:

package com.acme.audio;

import java.io.File;
import java.io.IOException;

import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;

public class Main {

public static void main(String[] args) throws LineUnavailableException {

Clip clip = AudioSystem.getClip();
AudioInputStream audioStream = null;

try {

File file = new File("D:/eclipse/workplace/AudioTestAPI/3.wav");
audioStream = AudioSystem.getAudioInputStream(file);
clip.open(audioStream);

} catch (LineUnavailableException e) {
e.printStackTrace();

} catch (UnsupportedAudioFileException ex) {
ex.printStackTrace();

} catch (IOException eo) {
eo.printStackTrace();
}

clip.start();

do {
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} while (clip.isActive());

}

}

关于java - 为什么执行AudioSystem.getAudioInputStream时出现nullpointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61915708/

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