2009-08-25 99 views
3

是否可以将两个wav文件组合成一个,就好像它们已经同时播放一样?我需要以编程方式进行此操作。iPhone - 将两个wav/caf文件合并为一个

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

有人可以请我指出正确的方向。

谢谢。

回答

0

可能有更好的方法,但是如果两个wav具有相同的编码/比特率等,您可以将第二个文件的wav头文件(根据wav格式规范的前44个字节)和第二个文件wav首先。

+0

但是,不会只是把文件,所以他们一个接一个地玩?我想合并它们,所以播放结果文件就像是在同时播放。 – lostInTransit 2009-08-26 04:50:21

+0

我不确定;根据你的wav文件,这种方法可能会出现一些可检测的“过渡”。你可能会以某种方式“淡化”它,通过在wav1结尾插入数据并开始使用wav2。但是这当然需要分析文件的编码/内容。 – ttvd 2009-08-26 05:22:36

2

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

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