Example #1
0
 public RecordingOptions(GraphicsCaptureItem target, SizeUInt32 resolution, uint bitrate, uint frameRate)
 {
     Target     = target;
     Resolution = resolution;
     Bitrate    = bitrate;
     FrameRate  = frameRate;
 }
Example #2
0
        private void StartRecordingButton_Click(object sender, RoutedEventArgs e)
        {
            if (_preview == null)
            {
                throw new InvalidOperationException("There is no current preview!");
            }

            // Get our encoder properties
            var frameRateItem  = (FrameRateItem)FrameRateComboBox.SelectedItem;
            var resolutionItem = (ResolutionItem)ResolutionComboBox.SelectedItem;
            var bitrateItem    = (BitrateItem)BitrateComboBox.SelectedItem;

            var useSourceSize = resolutionItem.IsZero();
            var width         = resolutionItem.Resolution.Width;
            var height        = resolutionItem.Resolution.Height;
            var bitrate       = bitrateItem.Bitrate;
            var frameRate     = frameRateItem.FrameRate;

            // Use the capture item's size for the encoding if desired
            if (useSourceSize)
            {
                var targetSize = _preview.Target.Size;
                width  = (uint)targetSize.Width;
                height = (uint)targetSize.Height;
            }
            var resolution = new SizeUInt32()
            {
                Width = width, Height = height
            };

            var recordingOptions = new RecordingOptions(_preview.Target, resolution, bitrate, frameRate);

            _preview.Dispose();
            _preview = null;
            StartRecordingButton.IsEnabled = false;

            Frame.Navigate(typeof(RecordingPage), recordingOptions);
        }