我正在使用 windows mmSystem.h 来生成一些 pcm 文件。好吧,它们还不是文件,真的是字节数组。我想要做的是合并或混合这两个流,以便在我将它们导出到 wav 文件之前声音重叠。搜索stackoverflow每个人都提到过使用ffmpeg,但没有人有任何示例代码,他们只是使用带有一些标志的fmpeg.exe。我更喜欢一个解决方案,它确实指向我使用任何其他第三方库或 sdk,而不是 windows 和 ffmpeg 中可用的东西。
谢谢你的帮助
如果您有字节数组,则必须首先将这些字节数组转换为正确的样本格式,例如 16 位整数(短)。完成此操作后,您有几个选择,包括:
逐个样本平均数据。
对数据求和,逐个样本,然后“剪裁”任何超出范围的样本。
第一个选项是在不扭曲信号的情况下唯一正确的方法。
最后,您可能需要转换回字节以保存到文件中。
有关更多详细信息,包括代码,您可能希望看到更像教程的内容。
假设两个流具有相同的采样率和比特/样本,您只需添加样本:
merged[n] = streama[n] + streamb[n];