我使用VFW做了一些快速解决方案。在准备接收音频数据的阶段,我要求VFW给我附加的WEBcam的默认波形数据格式。它返回给我WAVEFORMATEX结构,请看图片。

如你所见,它是1个字节的样本和1个通道。每秒11025字节。但是callBack接收的是另外的o字节,请看图

问题是:这些与值之间的相关性和依赖性是什么?在这种情况下,如果有2个通道,如何分离数据?
发布于 2019-04-14 19:23:49
dwBufferLength是缓冲区的大小,而不是捕获的字节数。您对另一个成员感兴趣:dwBytesRecorded。
如果是立体声WAVEFORMATEX,nChannels会有2,然后nBlockAlign,nAvgBytesPerSec会分别进行调整。缓冲区中的字节将具有以下打包:
0000: [sample 0, channel 0]
0001: [sample 0, channel 1]
0002: [sample 1, channel 0]
0003: [sample 1, channel 1]
...https://stackoverflow.com/questions/55065143
复制相似问题