2011-06-30 63 views
2

梆子软件,我想创建拍手通话筒后,监听软件..创建n音讯

我第一次实现将尝试获得该软件,当我听到高音量的声音警告。

但我想知道如果有人能帮助我在正确的方向吗?

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

回答

0

假设你正在录制16位音频(这是默认值),然后e.Buffer的内容可以解释这样的:

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

然后,可以寻找数学的高值。ABS(sampleValue)。

+0

非常好,谢谢!下班后会摆弄它 – Tistatos