使用 Nadio 创建 Clapper 软件
Posted
技术标签:
【中文标题】使用 Nadio 创建 Clapper 软件【英文标题】:Create Clapper software with Naudio 【发布时间】: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;
【问题讨论】:
【参考方案1】:假设您正在录制 16 位音频(这是默认设置),那么 e.Buffer 的内容可以这样解释:
for (int n = 0; n < e.BytesRecorded; n += 2)
short sampleValue = BitConverter.ToInt16(e.Buffer, n);
然后你可以寻找 Math.Abs(sampleValue) 的高值。
【讨论】:
以上是关于使用 Nadio 创建 Clapper 软件的主要内容,如果未能解决你的问题,请参考以下文章