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(); } } }
public void ReleaseCamera() { autoFocus.Enabled = false; try { cameraSource?.Release(); opened = false; previewActive = false; renderer.OnCameraReleased(); } catch (Exception ex) { this.Debug("Unable to release camera"); this.Debug(ex.ToString()); } }