private void StartCapture_Click(object sender, RoutedEventArgs e) { _captureSource.VideoCaptureDevice = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice(); _captureSource.AudioCaptureDevice = CaptureDeviceConfiguration.GetDefaultAudioCaptureDevice(); VideoBrush videoBrush = new VideoBrush(); videoBrush.Stretch = Stretch.Uniform; videoBrush.SetSource(_captureSource); _videoStream = new MemoryStream(); RiffAviFileWriter aviFileWriter = new RiffAviFileWriter(_videoStream); _videoSink = new BufferQueueVideoSink(aviFileWriter) { CaptureSource = _captureSource }; if (CaptureDeviceConfiguration.AllowedDeviceAccess || CaptureDeviceConfiguration.RequestDeviceAccess()) _captureSource.Start(); Video.Fill = videoBrush; }
void StartRecording(Stream stream) { _captureSource.Stop(); RiffAviFileWriter aviFileWriter = new RiffAviFileWriter(stream); _videoSink = new BufferQueueVideoSink(aviFileWriter) { CaptureSource = _captureSource }; //videoSink.RecordingProgressed += (s, e) => //{ // Dispatcher.BeginInvoke(() => // { // this.RecordingProgress = e; // }); //}; _captureSource.Start(); }
public BufferQueueVideoSink(RiffAviFileWriter aviFileWriter) { this.aviFileWriter = aviFileWriter; }