当我在java中播放24位wav文件时,它们不能播放。 16位文件工作正常。
我正在使用:
InputStream audioInputStream = new FileInputStream(soundFile);
AudioStream audioStream = new AudioStream(audioInputStream);
AudioPlayer.player.start(audioStream);
我意识到这种方法已经过折旧,但我出于其他原因使用它(例如从jar中读取可更改的文件)。
有没有办法在java上播放24位文件(也许在内部转换它们?)。我正在使用linux,但这需要跨平台工作。
答案 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