Ejemplo n.º 1
0
        private async Task StartPreviewAsync()
        {
            try
            {
                mediaCapture = new MediaCapture();
                await mediaCapture.InitializeAsync();

                PreviewControl.Source = mediaCapture;


                //<SnippetAddVideoEffectAsync>
                var videoEffectDefinition = new VideoEffectDefinition("VideoEffectComponent.ExampleVideoEffect");

                IMediaExtension videoEffect =
                    await mediaCapture.AddVideoEffectAsync(videoEffectDefinition, MediaStreamType.VideoPreview);

                videoEffect.SetProperties(new PropertySet()
                {
                    { "FadeValue", .25 }
                });

                await mediaCapture.StartPreviewAsync();

                //</SnippetAddVideoEffectAsync>
            }
            catch (Exception)
            {
                System.Diagnostics.Debug.WriteLine("MediaCapture initialization failed.");
            }
        }
Ejemplo n.º 2
0
 private void CosmeticsControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (e.AddedItems.Count != 0)
     {
         VideoEffect?.SetProperties(new PropertySet()
         {
             { "LipColor", (e.AddedItems[0] as CosmeticsItem).LipColor }
         });
     }
 }
Ejemplo n.º 3
0
        private async void CoreApplication_LeavingBackground(object sender, LeavingBackgroundEventArgs e)
        {
            var Deferral = e.GetDeferral();

            if (ApplicationData.Current.LocalSettings.Values["LastSelectedCameraSource"] is string LastSelectedCameraSource)
            {
                var MediaFraSourceGroup = await MediaFrameSourceGroup.FindAllAsync();

                foreach (var FrameSource in from MediaFrameSourceGroup FrameSource in MediaFraSourceGroup
                         where FrameSource.DisplayName == LastSelectedCameraSource
                         select FrameSource)
                {
                    CaptureControl.Source = Capture = await MediaCaptureProvider.SetFrameSourceAndInitializeCaptureAsync(FrameSource);

                    break;
                }
            }
            else
            {
                CaptureControl.Source = Capture = await MediaCaptureProvider.SetFrameSourceAndInitializeCaptureAsync();
            }

            ApplicationData.Current.LocalSettings.Values["ReturnCosmeticsEffectExcution"] = true;
            VideoEffectDefinition EffectDefinition = new VideoEffectDefinition("CosmeticsEffect.CosmeticsVideoEffect");

            ApplicationData.Current.LocalSettings.Values["ReturnCosmeticsEffectExcution"] = false;
            VideoEffect = await Capture.AddVideoEffectAsync(EffectDefinition, MediaStreamType.VideoPreview);

            CaptureControl.Source = Capture;
            await Capture.StartPreviewAsync();

            VideoEffect.SetProperties(new PropertySet()
            {
                { "LipColor", (CosmeticsControl.SelectedItem as CosmeticsItem).LipColor }
            });
            StayAwake.RequestActive();

            Deferral.Complete();
        }
Ejemplo n.º 4
0
        private async Task StartPreviewAsyncWin2D()
        {
            try
            {
                mediaCapture = new MediaCapture();
                await mediaCapture.InitializeAsync();

                PreviewControl.Source = mediaCapture;

                //TEMP
                IEnumerable <StreamPropertiesHelper> allStreamProperties =
                    mediaCapture.VideoDeviceController.GetAvailableMediaStreamProperties(MediaStreamType.VideoPreview).Select(x => new StreamPropertiesHelper(x));
                allStreamProperties = allStreamProperties.OrderByDescending(x => x.Height * x.Width);
                await mediaCapture.VideoDeviceController.SetMediaStreamPropertiesAsync(MediaStreamType.VideoPreview, allStreamProperties.Last().EncodingProperties);


                //<SnippetAddVideoEffectAsyncWin2D>
                var videoEffectDefinition = new VideoEffectDefinition("VideoEffectComponent.ExampleVideoEffectWin2D");

                IMediaExtension videoEffect =
                    await mediaCapture.AddVideoEffectAsync(videoEffectDefinition, MediaStreamType.VideoPreview);

                videoEffect.SetProperties(new PropertySet()
                {
                    { "BlurAmount", 1.0 }
                });

                await mediaCapture.StartPreviewAsync();

                //</SnippetAddVideoEffectAsyncWin2D>
            }
            catch (Exception)
            {
                System.Diagnostics.Debug.WriteLine("MediaCapture initialization failed.");
            }
        }