【问题标题】:iPhone - combine two wav/caf files into oneiPhone - 将两个 wav/caf 文件合二为一
【发布时间】:2009-08-25 06:21:23
【问题描述】:

是否可以将两个 wav 文件合并为一个,就好像它们同时播放一样?我需要以编程方式执行此操作。

到目前为止,我发现的唯一方法是同时播放两者并使用 AVAudioRecorder 录制输出。但如果用户使用耳机,这将不起作用。

谁能指点我正确的方向。

谢谢。

【问题讨论】:

    标签: iphone iphone-sdk-3.0 avaudiorecorder


    【解决方案1】:

    您需要读取每个文件的样本数据,平均每个样本值,然后将结果写入新文件。您可以使用 ExtAudioFile 读取和写入文件,包括标题和示例数据。

    您还需要使用正确的文件长度更新标题,因为有些字段的值取决于示例数据的长度。

    【讨论】:

      【解决方案2】:

      可能有更好的方法,但如果两个 wav 具有相同的编码/比特率等,您可以只去除第二个文件的 wav 标头(根据 wav 格式规范的前 44 个字节)并连接第二个 wav 的其余部分到第一。

      【讨论】:

      • 但这不就是把文件放好让它们一个接一个地播放吗?我想将它们组合起来,因此播放生成的文件感觉就像在同时播放它们。
      • 我不确定;根据您的 wav 文件,此方法可能会出现一些可检测到的“过渡”。通过在 wav1 末尾和 wav2 开头插入数据,您可能会以某种方式“淡化”它。但这当然需要分析文件的编码/内容。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-05
      相关资源
      最近更新 更多