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

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

我在互联网上搜索了此问题,然后发现了这个问题,该问题过去曾在此网站上提出过。 (链接:Noise reduction and compression in streaming audio)
通过此链接,我了解到问题出在位深度(8位)。我也了解,如果我将位深度更改为16位,则应该解决该问题。

有人知道如何通过API函数更改记录的位深度吗?哪个功能可以完成这项工作?

最佳答案

似乎您想发送带有适当参数的setaudio command

您可能需要尝试使用算法,bitpersample,bytespersec和质量值。

另请参见MCI_SETAUDIO

09-19 06:01