【问题标题】:Convert android wav file with SOX使用 SOX 转换 android wav 文件
【发布时间】:2014-02-02 21:27:32
【问题描述】:

您好,我使用 android 生成一个 wav 文件,该文件之前上传到我的服务器。为了在电话系统中播放这个 WAV 文件,我必须将它转换为 16000 比特率。问题是android生成的wav,因为我有这个错误:

WAVE: RIFF header not found

这是我的 sox 脚本:

# sox -t wav input.wav output.wav

感谢您的帮助!

更新:android 创建的 wav 告诉我:ISO Media、MPEG v4 系统、3GPP

【问题讨论】:

    标签: android audio wav sox


    【解决方案1】:

    因此,对于 ffmpeg 的最新版本(2014 年 2 月 3 日构建),以下命令可以工作:

    ffmpeg -i 2353-1389698676.wav -ar 8000 -b 16k convert/2353-1389698676-convert.wav
    

    所以 SOX 对于这种转换失败了...

    【讨论】:

      【解决方案2】:

      您的 WAV 文件似乎没有标题数据。 WAV 文件是一种 RIFF 文件,在您写入音频数据之前,它们需要标头数据。这是一个详细说明 WAV 文件头格式的页面的链接。只需添加标题,设置所有值以匹配您的内容,这应该可以工作。

      链接:http://www.topherlee.com/software/pcm-tut-wavformat.html

      【讨论】:

      • 谢谢大卫,WAV文件是通过android录制生成的,你知道我是否可以在后面添加那些RIFF头吗?
      • 你是如何创建文件的?
      • 我使用一个phonegap应用,它使用android核心录音...但没有任何标题...
      • 哦。好吧,我不知道PhoneGap。我通过将音频保存到流中,然后将标头写入文件,然后是音频流来做到这一点。
      • 你知道我是否可以在 wav 生成之后添加那些 Riff 标头吗?这样我就可以使用 sox 或 ffmpeg 来改变比特率?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 2010-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      相关资源
      最近更新 更多