我正在C#中使用NAudio录制音频,我需要删除使用的停止按钮并在一段时间后自行停止录制。c#中的时间延迟后自行停止录音机(使用NAudio)
备案事件中的代码是
private void cmbRecord_Click(object sender, EventArgs e)
{
outputFilename = "file address";
waveInStream = new WaveIn(44100,2);
writer = new WaveFileWriter(outputFilename, waveInStream.WaveFormat);
waveInStream.DataAvailable += new EventHandler<WaveInEventArgs>(waveInStream_DataAvailable);
waveInStream.StartRecording();
// Just controling the objects on the screen.
cmbRecord.Enabled = false;
cmbStop.Enabled = true;
}
void waveInStream_DataAvailable(object sender, WaveInEventArgs e)
{
writer.WriteData(e.Buffer, 0, e.BytesRecorded);
int secondsRecorded = (int)(writer.Length/writer.WaveFormat.AverageBytesPerSecond);
}
停止按钮给出
private void cmbStop_Click(object sender, EventArgs e)
{
waveInStream.StopRecording();
waveInStream.Dispose();
waveInStream = null;
writer.Close();
writer = null;
cmbRecord.Enabled = true;
cmbStop.Enabled = false;
}
我需要自动停止cmbRecord_Click事件内的记录。 在此先感谢。
谢谢,你能帮助我的代码,我是一个C#的总新手。 – Prateek 2010-11-17 11:38:44
当然,请参阅更新。 – Bolu 2010-11-17 11:54:32
哇,非常感谢 – Prateek 2010-11-17 12:37:13