C# 检查麦克风输入
我试图弄清楚如何使用C#测试连接麦克风的输入,以查看它是否通过了一定的音量C# 检查麦克风输入,c#,.net,input,naudio,C#,.net,Input,Naudio,我试图弄清楚如何使用C#测试连接麦克风的输入,以查看它是否通过了一定的音量 我听说过,但在它的示例和演示中,我所能找到的只是一些工具,这些工具记录用户,然后将记录保存到一个文件中,稍后可以对其进行测试。老实说,这并不是我想要的。当声音超过给定音量时,可以通过修改waveIn_data函数来录制声音 bool startRecording=false; 无效waveIn_数据可用(对象发送方,WaveInEventArgs e) { 对于(int index=0;index
我听说过,但在它的示例和演示中,我所能找到的只是一些工具,这些工具记录用户,然后将记录保存到一个文件中,稍后可以对其进行测试。老实说,这并不是我想要的。当声音超过给定音量时,可以通过修改waveIn_data函数来录制声音
bool startRecording=false;
无效waveIn_数据可用(对象发送方,WaveInEventArgs e)
{
对于(int index=0;index
startRecording是一个标志,指示输入语音已超过给定音量,因此我们开始将数据写入wave文件
bool startRecording = false;
void waveIn_DataAvailable(object sender, WaveInEventArgs e)
{
for (int index = 0; index < e.BytesRecorded; index += 2)
{
short sample = (short)((e.Buffer[index + 1] << 8) |
e.Buffer[index + 0]);
float sample32 = sample / 32768f;
if (sample32 > 0.2) //0.2 is desired volume; sample32 is 0~1
{
// Start recording
startRecording = true;
}
}
if (startRecording)
{
waveFile.Write(e.Buffer, 0, e.BytesRecorded);
waveFile.Flush();
}
}