Example #1
0
        public async Task PauseVideoCaptureWithResult()
        {
            //<SnippetPauseCaptureWithResult>
            MediaCapturePauseResult result =
                await _mediaRecording.PauseWithResultAsync(Windows.Media.Devices.MediaCapturePauseBehavior.RetainHardwareResources);

            var pausedFrame = result.LastFrame.SoftwareBitmap;

            if (pausedFrame.BitmapPixelFormat != BitmapPixelFormat.Bgra8 || pausedFrame.BitmapAlphaMode != BitmapAlphaMode.Ignore)
            {
                pausedFrame = SoftwareBitmap.Convert(pausedFrame, BitmapPixelFormat.Bgra8, BitmapAlphaMode.Ignore);
            }

            var source = new SoftwareBitmapSource();
            await source.SetBitmapAsync(pausedFrame);

            await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                PauseImage.Source     = source;
                PauseImage.Visibility = Visibility.Visible;
            });

            _totalRecordedTime += result.RecordDuration;
            //</SnippetPauseCaptureWithResult>
        }