gpt4 book ai didi

java - 无法播放WAV文件

转载 作者:行者123 更新时间:2023-12-03 02:05:48 25 4
gpt4 key购买 nike

我正在尝试播放WAV剪辑,并且遇到一些问题。这是我正在使用的代码:

public class NewClass { 
private File soundFile = new File("/Project/src/model/soundfile.wav");

public NewClass() {

JLabel playArea = new JLabel();
playArea.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
AudioClip clip = null;
try {
clip = Applet.newAudioClip(soundFile.toURI().toURL());
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
clip.play();
});
}

我在src文件夹中有一个单独的文件夹(模型),在其中保存了任何图像,或者在这种情况下保存了WAV文件(我知道我的MVC不正确,但这又是一个问题)。它没有任何异常(exception)地运行,但是什么都不玩。我在不久前编写的另一个项目中使用了相同的代码片段,并且该代码片段可以正常工作,所以我一直坚持为什么现在都弄糟了。有什么想法吗?

最佳答案

因此,我切换到Clip类而不是AudioClip并使它工作。这是为我做的代码:

File pop;

try {
pop = new File(StartView.class.getResource("/model/pop.wav")
.toURI());
} catch (URISyntaxException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

void playSound(File soundIn) { // Use pop as the input argument

File soundFile = soundIn;
AudioInputStream sound = null;

try {
sound = AudioSystem.getAudioInputStream(soundFile);
} catch (UnsupportedAudioFileException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DataLine.Info info = new DataLine.Info(Clip.class,
sound.getFormat());
clip = null;
try {
clip = (Clip) AudioSystem.getLine(info);
} catch (LineUnavailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
clip.open(sound);
} catch (LineUnavailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
clip.start();
}

我不能说为什么以前的代码不起作用,但是切换到Clip似乎可以解决问题。

关于java - 无法播放WAV文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27872760/

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