Winapi 音频混合两个pcm流

Winapi 音频混合两个pcm流,winapi,audio,ffmpeg,pcm,Winapi,Audio,Ffmpeg,Pcm,我正在使用windows mmSystem.h生成一些pcm文件。它们还不是文件,实际上是字节数组。我想做的是合并或多路复用这两个流,以便在我将它们导出到wav文件之前声音重叠。搜索stackoverflow每个人都提到过使用ffmpeg,但没有人有任何示例代码,他们只是使用带有几个标志的fmpeg.exe。我更喜欢一个解决方案,它能让我使用任何其他第三方库或sdk,而不是windows和ffmpeg中可用的 感谢您的帮助假设两个流具有相同的采样率和位/采样,您只需添加采样: merged[n]

我正在使用windows mmSystem.h生成一些pcm文件。它们还不是文件,实际上是字节数组。我想做的是合并或多路复用这两个流,以便在我将它们导出到wav文件之前声音重叠。搜索stackoverflow每个人都提到过使用ffmpeg,但没有人有任何示例代码,他们只是使用带有几个标志的fmpeg.exe。我更喜欢一个解决方案,它能让我使用任何其他第三方库或sdk,而不是windows和ffmpeg中可用的


感谢您的帮助

假设两个流具有相同的采样率和位/采样,您只需添加采样:

merged[n] = streama[n] + streamb[n];

如果有字节数组,则必须首先将这些字节数组转换为正确的示例格式,例如16位整数(short)。完成后,您有几个选择,包括:

  • 逐个样本对数据求平均值

  • 一个样本一个样本地求和数据,然后“剪辑”超出范围的任何样本

  • 第一种选择是在不失真信号的情况下实现这一点的唯一正确方法

    最后,您可能需要转换回字节以保存到文件


    有关更多详细信息,包括代码,您可能需要查看。

    您的意思是您有两个单声道流,并且希望将它们作为立体声混音?或者你想用新的样本覆盖现有的频道?我想覆盖它们。我想投票,但我的代表不够高,所以我希望感谢就可以了。