使用winmm.dll mciSendString可以实现最低音频设置?

时间:2016-01-12 17:44:25

标签: c# wav microphone winmm mcisendstring

我正在尝试使用C#和winmm.dll将此录制设置为可能的最低设置。我已经设置了下面的设置,但我没有听到任何差异。有谁知道我错过了什么?

我正在努力获得最低的音频设置。就像你从对讲机里听到的那样。

我对采样率所做的任何更改似乎都没有生效。

谢谢,

record("open new Type waveaudio Alias recsound", "", 0, 0);
record("set recsound time format ms bitspersample 8 samplespersec 8000 channels 1", "", 0, 0);
record("record recsound", "", 0, 0);

1 个答案:

答案 0 :(得分:-1)

这是什么录音?如果是语音,那么尝试将bitspersample减少到4,你应该在这里有所不同。如果是音乐,那么你肯定应该听到每个样本8位和16位之间的差异。

现在下一部分有一些警告: 1.请勿戴以下耳机 2.使用设置为最低音量的扬声器开始此(特别是正弦扫描)

有了这个,请转到audiocheck.net,特别是Dynamic Range, Dithering and Noise ShapingSine Sweep页面。在这里,您将能够听到以各种比特样本大小(16,8,8抖动等)录制的语音以及20Hz - 20kHz的正弦扫描。

聆听这些以了解您是否能听到这些参考音调的差异。当您尝试检测样本声音的差异时,这将指示您在物理上能够听到什么以及要听什么(例如,如果声音级别,您可能听不到每个样本的16到8位之间的差异是0dB)。然后返回并尝试使用每个样本的不同位和采样频率输出代码(将通道保留为1)并查看是否可以听到与声源的差异。

作为旁注,audiocheck.net上的音频文件都是可下载的WAV文件,因此如果您愿意,可以使用您的代码播放它们。