/// <summary> /// Plays the recorded audio stream. /// </summary> /// private void btnPlay_Click(object sender, EventArgs e) { // First, we rewind the stream stream.Seek(0, SeekOrigin.Begin); // Then we create a decoder for it decoder = new WaveDecoder(stream); // Configure the track bar so the cursor // can show the proper current position if (trackBar1.Value < decoder.Frames) decoder.Seek(trackBar1.Value); trackBar1.Maximum = decoder.Samples; // Here we can create the output audio device that will be playing the recording output = new AudioOutputDevice(this.Handle, decoder.SampleRate, decoder.Channels); // Wire up some events output.FramePlayingStarted += output_FramePlayingStarted; output.NewFrameRequested += output_NewFrameRequested; output.Stopped += output_PlayingFinished; // Start playing! output.Play(); updateButtons(); }
private void btnPlay_Click(object sender, EventArgs e) { stream.Seek(0, SeekOrigin.Begin); decoder = new WaveDecoder(stream); if (trackBar1.Value < decoder.Frames) decoder.Seek(trackBar1.Value); trackBar1.Maximum = decoder.Samples; output = new AudioOutputDevice(this.Handle, decoder.SampleRate, decoder.Channels); output.FramePlayingStarted += output_FramePlayingStarted; output.NewFrameRequested += output_NewFrameRequested; output.Stopped += output_PlayingFinished; output.Play(); updateButtons(); }