在java中使用AudioPlayer播放24位wav

时间:2015-02-19 13:51:59

标签: java audio

当我在java中播放24位wav文件时,它们不能播放。 16位文件工作正常。

我正在使用:

InputStream audioInputStream = new FileInputStream(soundFile);
AudioStream audioStream = new AudioStream(audioInputStream);
AudioPlayer.player.start(audioStream);

我意识到这种方法已经过折旧,但我出于其他原因使用它(例如从jar中读取可更改的文件)。

有没有办法在java上播放24位文件(也许在内部转换它们?)。我正在使用linux,但这需要跨平台工作。

1 个答案:

答案 0 :(得分:0)

在我的linux上java中似乎不可能。

所以我用这个脚本批量转换文件:

for f in $(find ./ -name '*.wav'); do 
ffmpeg -i $f -acodec pcm_s16le -ar 44100 ${f%.wav}z.wav; 
rm $f;
mv ${f%.wav}z.wav $f;
done