使用Naudio创建Clapper软件

本文关键字:软件 Clapper 创建 Naudio 使用 | 更新日期: 2023-09-27 18:01:02

我想创建一个通过麦克风拍手后监听的软件。。

我的第一个实现是尝试让软件在我听到高音量声音时发出警告。

但我想知道是否有人能帮我找到正确的方向?

public partial class ClapperForm : Form
{
    WaveIn waveInStream;
    public ClapperForm()
    {
        InitializeComponent();
    }
    private void btnStart_Click(object sender, EventArgs e)
    {
        //start the streaming
        waveInStream = new WaveIn();
        waveInStream.DataAvailable += new EventHandler<WaveInEventArgs>(waveInStream_DataAvailable);
        waveInStream.StartRecording();
    }
    void waveInStream_DataAvailable(object sender, WaveInEventArgs e)
    {
        //check out what volume it is
    }
    private void btnStop_Click(object sender, EventArgs e)
    {
        if (waveInStream != null)
        {
            //Stop streaming
            waveInStream.StopRecording();
            waveInStream.Dispose();
            waveInStream = null;
        }
    }
}

使用Naudio创建Clapper软件

假设您正在录制16位音频(这是默认设置(,则e.Buffer的内容可以这样解释:

for (int n = 0; n < e.BytesRecorded; n += 2)
{
    short sampleValue = BitConverter.ToInt16(e.Buffer, n);        
}

然后您可以查找Math.Abs(sampleValue(.的高值