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();
                }
            }
        }
예제 #2
0
        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());
            }
        }