如何通过Windows API设置.wav文件的位深度? (C#)

时间:2014-03-28 20:53:15

标签: c# winapi audio audio-recording sample-rate

我使用mciSendString() API功能从麦克风录制声音。我的代码与此链接中编写的代码非常相似:http://blog.hansentech.com/mhblog_2011_02_26.html

不幸的是,当我正在收听输出记录时(我将输出保存在.wav文件中)我可以听到干扰听录音本身的噪音。

我在互联网上搜索了这个问题,我发现了这个问题,过去曾在本网站上提出过这个问题。 (链接:Noise reduction and compression in streaming audio) 从这个链接,我明白问题是位深度(8位)。我也明白,如果我将位深度改为16位,问题就应该解决了。

有谁知道如何通过API函数更改记录的位深度?哪个功能可以做到这一点?

2 个答案:

答案 0 :(得分:3)

好像你想发送一个带有适当参数的setaudio command

您可能希望尝试算法 bitspersample bytespersec 质量值。

另见MCI_SETAUDIO

答案 1 :(得分:2)

虽然已经有一段时间了,但我相信您可以使用SetAudio命令指定采样率。