我正在编写一个使用waveOutOpen和PlaySound播放wave文件的程序。现在我必须编写一个函数来记录磁盘上Wave文件中的麦克风语音。我使用writeInOpen和waveInAddBuffer来记录缓冲区中的声音但我找不到一个简单的类来操作wave文件并将缓冲区内容复制到文件.wav。谢谢你的建议!
答案 0 :(得分:0)
您必须自己创建文件。
您可以使用Multimedia File I/O API,特别是mmioOpen()
,mmioCreateChunk()
,mmioAscend()
和mmioWrite()
功能。您需要很好地理解WAVE文件格式的工作原理,WAVEFORMAT/EX
结构如何工作等,以便您知道要编写哪些部分以及如何正确编写它们。
或者使用DirectX的DirectSound API,特别是IDirectSoundCaptureBuffer8
接口和CWaveFile
帮助程序类:
在您了解这两种方法之前,您应该考虑使用现有的库为您做一些艰苦的工作,例如: