C++ 将数据从缓冲区写入磁盘上的wave文件

C++ 将数据从缓冲区写入磁盘上的wave文件,c++,winapi,mfc,audio-recording,wave,C++,Winapi,Mfc,Audio Recording,Wave,我正在编写一个程序,使用waveOutOpen和PlaySound播放wave文件。现在我必须编写一个函数,将麦克风发出的声音记录在磁盘上的Wave文件中。我使用writeInOpen和waveInAddBuffer在缓冲区中录制声音,但我找不到一个简单的类来操作wave文件并将缓冲区内容复制到file.wav。谢谢你的建议 您必须自己创建文件 您可以使用,特别是at、、和函数。您需要很好地了解WAVE文件格式的工作原理、WAVEFORMAT/EX结构的工作原理等,以便知道要编写哪些片段以及如何

我正在编写一个程序,使用waveOutOpen和PlaySound播放wave文件。现在我必须编写一个函数,将麦克风发出的声音记录在磁盘上的Wave文件中。我使用writeInOpen和waveInAddBuffer在缓冲区中录制声音,但我找不到一个简单的类来操作wave文件并将缓冲区内容复制到file.wav。谢谢你的建议

您必须自己创建文件

您可以使用,特别是at、、和函数。您需要很好地了解WAVE文件格式的工作原理、WAVEFORMAT/EX结构的工作原理等,以便知道要编写哪些片段以及如何正确编写它们

或者使用DirectX,特别是接口和
CWaveFile
helper类:

<> P>直到你对这两种方法都有了了解,你应该考虑使用现有的库来为你做艰苦的工作,例如:


< /P>你使用什么语言?程序必须在MFC中编写,所以在C++中,VS 2012