我使用windows mmSystem.h生成几个pcm文件。那么它们还不是文件,真的是字节数组。我想要做的是合并或多路复用这两个流,以便在将它们导出到wav文件之前声音重叠。搜索stackoverflow每个人都提到使用ffmpeg,但没有人有任何示例代码,他们只是使用带有几个标志的fmpeg.exe。我更喜欢一个解决方案,它确实指出我使用除了Windows和ffmpeg中可用的任何其他第三方库或sdk。
感谢您的帮助
答案 0 :(得分:4)
如果您有字节数组,则必须先将这些字节数组转换为正确的样本格式,例如16位整数(短)。完成后,您可以选择一些选项,包括:
逐个样本地平均数据。
逐个样本汇总数据,然后“剪辑”任何超出范围的样本。
第一个选项是唯一正确的方法,可以在不扭曲信号的情况下进行。
最后,您可能需要转换回字节以保存到文件中。
有关详细信息(包括代码),您可能需要查看something more like a tutorial。
答案 1 :(得分:0)
假设两个流具有相同的采样率和位/样本,您只需添加样本:
merged[n] = streama[n] + streamb[n];