【问题标题】:Play back 24-bit wav with AudioPlayer in java在 java 中使用 AudioPlayer 播放 24 位 wav
【发布时间】:2015-03-02 22:57:31
【问题描述】:

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

我正在使用:

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

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

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

【问题讨论】:

  • 播放 24 位时是否出现异常?如果是这样呢? Mac 上的 Java 从 Java 1.7 开始支持 24 位
  • 它不播放声音。没有例外。
  • 这就是我尝试批量转换它们的原因stackoverflow.com/questions/28608675/…

标签: java audio


【解决方案1】:

在我的 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 2022-11-28
    • 2015-08-15
    • 1970-01-01
    相关资源
    最近更新 更多