Esempio n. 1
0
 public async System.Threading.Tasks.Task StartCapturePreviewAsync()
 {
     try
     {
         Windows.Devices.Enumeration.Panel devicePanel = Windows.Devices.Enumeration.Panel.Back;
         var obj = Global.Current.LocalSettings.LoadData(conCameraPanel);
         if (obj != null && obj.ToString() == conCameraFront)
         {
             devicePanel = Windows.Devices.Enumeration.Panel.Front;
             this.captureElement.FlowDirection = Windows.UI.Xaml.FlowDirection.RightToLeft;
         }
         else
         {
             this.captureElement.FlowDirection = Windows.UI.Xaml.FlowDirection.LeftToRight;
         }
         if ((App.Current as App).mediaCapture == null)
         {
             await(App.Current as App).InitializeCapture(devicePanel);
         }
         if ((App.Current as App).isExternalCamera)
         {
             this.captureElement.FlowDirection = Windows.UI.Xaml.FlowDirection.RightToLeft;
         }
         Global.Current.LocalSettings.SaveData(conCameraPanel, devicePanel.ToString());
         this.mediaCapture = (App.Current as App).mediaCapture;
         this.zoomControl  = this.mediaCapture.VideoDeviceController.Zoom;
         if (this.zoomControl != null && this.zoomControl.Capabilities.Supported)
         {
             this.zoomSlider.Visibility    = Windows.UI.Xaml.Visibility.Visible;
             this.zoomSlider.IsEnabled     = true;
             this.zoomSlider.Maximum       = this.zoomControl.Capabilities.Max;
             this.zoomSlider.Minimum       = this.zoomControl.Capabilities.Min;
             this.zoomSlider.StepFrequency = this.zoomControl.Capabilities.Step;
             double value;
             var    rev = this.zoomControl.TryGetValue(out value);
             if (rev)
             {
                 this.zoomSlider.Value = value;
             }
         }
         else
         {
             this.zoomSlider.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
         }
         this.AppbarSwitchCamera.Visibility = (App.Current as App).isSupportFront?Visibility.Visible:Visibility.Collapsed;
         this.AppbarFlashAuto.Visibility    = this.mediaCapture.VideoDeviceController.FlashControl.Supported ? Visibility.Visible : Visibility.Collapsed;
         this.captureElement.Source         = this.mediaCapture;
         await this.mediaCapture.StartPreviewAsync();
     }
     catch (Exception ex)
     {
         Debug.WriteLine(ex.Message);
     }
 }
Esempio n. 2
0
 private void SetDefaults(MediaDeviceControl control, bool useAuto = false)
 {
     if (control.Capabilities.Supported)
     {
         if (useAuto)
         {
             control.TrySetAuto(useAuto);
         }
         else
         {
             control.TrySetAuto(useAuto);
             control.TrySetValue(control.Capabilities.Default);
         }
     }
 }