используйте Таймер , установите Interval
и скопируйте код в событии cmbStop_Click
в событие таймера OnTick
.Включите таймер в событии mbRecord_Click
и & не забудьте отключить таймер в событии cmbStop_Click
Редактировать:
Создать новый таймер и установить его значение
// поместите эту строку в уровень класса вашей формы
System.Windows.Forms.Timer mytimer=new System.Windows.Forms.Timer(); //create a new Timer
// поместите эти две строки в конструктор формы сразу после InitializeComponent()
;
mytimer.Interval=1000; //set the interval to 1 second.
mytimer.Tick += new EventHandler(mytimer_Tick);
Включить таймер в событии mbRecord_Click
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;
//Enable the timer to fire
mytimer.Enabled = true;
}
Остановить запись через 1 секунду ..
void mytimer_Tick(object sender, EventArgs e)
{
waveInStream.StopRecording();
waveInStream.Dispose();
waveInStream = null;
writer.Close();
writer = null;
cmbRecord.Enabled = true;
cmbStop.Enabled = false;
//disable the timer here so it won't fire again...
mytimer.Enabled = false;
}