【问题标题】:Create Clapper software with Naudio使用 Nadio 创建 Clapper 软件
【发布时间】:2011-06-30 23:23:10
【问题描述】:

我想创建一个在拍手后通过麦克风收听的软件..

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

但我想知道是否有人可以在正确的方向上帮助我?

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;
        }
    }
}

【问题讨论】:

    标签: c# naudio


    【解决方案1】:

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

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

    然后你可以寻找 Math.Abs​​(sampleValue) 的高值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2022-01-05
      • 1970-01-01
      • 2010-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多