private void updateCameraRunningState(PropertyChangedEventArgs e) { if (e.PropertyName == BarcodeScanner.PreviewActiveProperty.PropertyName) { if (barcodeScanner.PreviewActive) { startSession(); barcodeScanner.OnPreviewActivated(); } else { stopSession(); barcodeScanner.OnPreviewDeactivated(); } } if (e.PropertyName == VisualElement.IsEnabledProperty.PropertyName) { if (barcodeScanner.IsEnabled) { startSession(); barcodeScanner.OnCameraOpened(); } else { stopSession(); barcodeScanner.OnCameraReleased(); } } }
protected override void OnElementChanged(ElementChangedEventArgs <View> e) { base.OnElementChanged(e); barcodeScanner = (BarcodeScanner)Element; if (barcodeScanner == null) { return; } if (!initScanner()) { return; } view = new UIView(CGRect.Empty); view.BackgroundColor = UIColor.Gray; view.Layer.AddSublayer(captureVideoPreviewLayer); startSession(); barcodeScanner.OnCameraOpened(); barcodeScanner.OnPreviewActivated(); SetNativeControl(view); }
public void OpenCamera() { try { if (opened) { cameraSource.Stop(); } cameraSource.Open(); opened = true; renderer.OnCameraOpened(); } catch (Exception ex) { this.Debug("Unable to open camera"); this.Debug(ex.ToString()); } }