java - 为什么 java 无法播放我的 .wav 文件?

标签 java audio wav audioinputstream

这是我非常简短的测试方法:

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 文件,但它们都没有播放?

编辑: 会不会和我用的是linux有关系? Pulseaudio 不显示任何声音输出。另外,我正在使用 Eclipse。

最佳答案

已修复!

显然 PulseAudio 和 java 默认情况下不能相处。

这是我修复它的方法:

http://0110.be/posts/PulseAudio_Support_for_Sun_Java_6_on_Ubuntu

但是,请将 java6 替换为当前版本。复制 jar 后就开始工作。

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

相关文章:

c# - 在 MySQL 中存储文本和音频文件

audio - 如何将 RAW/WAV 文件解码为数字列表?

cocoa-touch - Objective C - 通过 MFMailComposeViewController 的附件未显示

java - Jackson 将字符串转换为对象

java - GWT Super Dev Mode 中的页面刷新不会发生编译

java - 使用数组查找 2 个列表之间的最大数字

python - rfft或irfft增加python中的wav文件量

java - Spring - ConversionService 没有 @Autowired 因为 ConfigurationPropertiesBindingPostProcessor

node.js - 将音频文件转换为 16 位线性 PCM

c++ - C++ 中的 Linux 音频捕获