Example #1
0
        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;
        }
Example #2
0
        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;
 }