为什么 java 不能播放我的 .wav 文件?
Why won't java play my .wav files?
这是我的非常简短的测试方法:
public static void main(String[] args) {
try{
File sound = new File("./res/bird.wav");
AudioInputStream stream = AudioSystem.getAudioInputStream(sound);
AudioFormat format = stream.getFormat();
DataLine.Info info = new DataLine.Info(Clip.class, format);
Clip clip = (Clip) AudioSystem.getLine(info);
clip.open(stream);
clip.start();
Thread.sleep(clip.getMicrosecondLength() / 1000);
}catch (Exception e){
e.printStackTrace();
}}}
我没有收到任何错误,但文件无法播放。我测试了多个不同的 wav 文件,但其中 none 个一直在播放?
编辑:
会不会跟我上 linux 有关系? Pulseaudio 不显示任何声音输出。另外,我正在使用 Eclipse。
已修复!
显然 PulseAudio 和 java 默认情况下不合得来。
这是我修复它的方法:
http://0110.be/posts/PulseAudio_Support_for_Sun_Java_6_on_Ubuntu
但是,将 java6 替换为当前版本。我一复制罐子就开始工作了。
这是我的非常简短的测试方法:
public static void main(String[] args) {
try{
File sound = new File("./res/bird.wav");
AudioInputStream stream = AudioSystem.getAudioInputStream(sound);
AudioFormat format = stream.getFormat();
DataLine.Info info = new DataLine.Info(Clip.class, format);
Clip clip = (Clip) AudioSystem.getLine(info);
clip.open(stream);
clip.start();
Thread.sleep(clip.getMicrosecondLength() / 1000);
}catch (Exception e){
e.printStackTrace();
}}}
我没有收到任何错误,但文件无法播放。我测试了多个不同的 wav 文件,但其中 none 个一直在播放?
编辑: 会不会跟我上 linux 有关系? Pulseaudio 不显示任何声音输出。另外,我正在使用 Eclipse。
已修复!
显然 PulseAudio 和 java 默认情况下不合得来。
这是我修复它的方法:
http://0110.be/posts/PulseAudio_Support_for_Sun_Java_6_on_Ubuntu
但是,将 java6 替换为当前版本。我一复制罐子就开始工作了。