gpt4 book ai didi

java - 如何使用Java播放wav文件?

转载 作者:太空宇宙 更新时间:2023-11-04 12:18:44 28 4
gpt4 key购买 nike

我想播放一个 wav 文件,在谷歌搜索后我找到了这个脚本,但它不起作用。(没有抛出任何异常,也没有编译问题)

 import java.io.File;
import films.Film;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;

public class MusicStorage {

/**
* Opens a wav file and plays it
* @param args
*/
public void play(Film song) {
try {
Clip sound = AudioSystem.getClip();

sound.open(AudioSystem.getAudioInputStream(new File(song.getClip())));

sound.start();

while (sound.isRunning())
Thread.sleep(1000);

sound.close();
} catch (Exception e) {
System.out.println("Whatever" + e);
}
}
}

import audio.MusicStorage;
import films.Film;

public class Aplication {

private static Film gladiator = new Film("Gladiator", "gladiator.wav");
private static MusicStorage storage = new MusicStorage();

public static void main(String[] args) {
storage.play(gladiator);
}
}

public class Film {

private String name;
private String clip;

public Film(String name, String clip) {
this.name = name;
this.clip = clip;
}

public String getClip() {
return clip;
}

public String getName() {
return name;
}
}

我已经添加了所有的代码,所以我希望它能清楚地解决我的问题

最佳答案

只需从代码中删除 while 循环,它就应该被修复。 while 循环使线程 hibernate ,因此无法播放音频文件。

public void play(Film song) {
try {
Clip sound = AudioSystem.getClip();

sound.open(AudioSystem.getAudioInputStream(new File(song.getClip())));

sound.start();

} catch (Exception e) {
System.out.println("Whatever" + e);
}
}
}

关于java - 如何使用Java播放wav文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39085830/

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