private DataCaptureManager() { // The barcode tracking process is configured through barcode tracking settings // which are then applied to the barcode tracking instance that manages barcode recognition and tracking. BarcodeTrackingSettings barcodeTrackingSettings = BarcodeTrackingSettings.Create(); // The settings instance initially has all types of barcodes (symbologies) disabled. // For the purpose of this sample we enable a generous set of symbologies. // In your own app ensure that you only enable the symbologies that your app requires // as every additional enabled symbology has an impact on processing times. HashSet <Symbology> symbologies = new HashSet <Symbology> { Symbology.Ean13Upca, Symbology.Ean8, Symbology.Upce, Symbology.Code39, Symbology.Code128 }; barcodeTrackingSettings.EnableSymbologies(symbologies); CameraSettings cameraSettings = BarcodeTracking.RecommendedCameraSettings; cameraSettings.PreferredResolution = VideoResolution.FullHd; this.Camera?.ApplySettingsAsync(cameraSettings); // Create data capture context using your license key and set the camera as the frame source. this.DataCaptureContext = DataCaptureContext.ForLicenseKey(SCANDIT_LICENSE_KEY); this.DataCaptureContext.SetFrameSourceAsync(this.Camera); // Create new barcode tracking mode with the settings from above. this.BarcodeTracking = BarcodeTracking.Create(this.DataCaptureContext, barcodeTrackingSettings); }
private void InitializeAndStartBarcodeScanning() { // Create data capture context using your license key. this.dataCaptureContext = DataCaptureContext.ForLicenseKey(SCANDIT_LICENSE_KEY); // Use the default camera and set it as the frame source of the context. // The camera is off by default and must be turned on to start // streaming frames to the data capture context for recognition. // See ResumeFrameSource and OnPause methods. this.camera = Camera.GetDefaultCamera(); if (this.camera != null) { // Use the recommended camera settings for the BarcodeTracking mode. CameraSettings cameraSettings = BarcodeTracking.RecommendedCameraSettings; // Adjust camera settings - set Full HD resolution. cameraSettings.PreferredResolution = VideoResolution.FullHd; this.camera.ApplySettingsAsync(cameraSettings); this.dataCaptureContext.SetFrameSourceAsync(this.camera); } // The barcode tracking process is configured through barcode tracking settings // which are then applied to the barcode tracking instance that manages barcode tracking. BarcodeTrackingSettings barcodeTrackingSettings = BarcodeTrackingSettings.Create(); // The settings instance initially has all types of barcodes (symbologies) disabled. // For the purpose of this sample we enable a very generous set of symbologies. // In your own app ensure that you only enable the symbologies that your app requires // as every additional enabled symbology has an impact on processing times. HashSet <Symbology> symbologies = new HashSet <Symbology>(); symbologies.Add(Symbology.Ean13Upca); symbologies.Add(Symbology.Ean8); symbologies.Add(Symbology.Upce); symbologies.Add(Symbology.Code39); symbologies.Add(Symbology.Code128); barcodeTrackingSettings.EnableSymbologies(symbologies); // Create barcode tracking and attach to context. this.barcodeTracking = BarcodeTracking.Create(this.dataCaptureContext, barcodeTrackingSettings); // Register self as a listener to get informed of tracked barcodes. this.barcodeTracking.AddListener(this); // To visualize the on-going barcode tracking process on screen, setup a data capture view // that renders the camera preview. The view must be connected to the data capture context. this.dataCaptureView = DataCaptureView.Create(this, this.dataCaptureContext); // Create barcode tracking overlay to the data capture view to render the tracked barcodes on // top of the video preview. This is optional, but recommended for better visual feedback. BarcodeTrackingBasicOverlay.Create(this.barcodeTracking, this.dataCaptureView); // Add the DataCaptureView to the container. FrameLayout container = this.FindViewById <FrameLayout>(Resource.Id.data_capture_view_container); container.AddView(this.dataCaptureView); }
protected void InitializeAndStartBarcodeScanning() { // Create data capture context using your license key. this.dataCaptureContext = DataCaptureContext.ForLicenseKey(SCANDIT_LICENSE_KEY); // Use the default camera and set it as the frame source of the context. // The camera is off by default and must be turned on to start streaming frames to the data // capture context for recognition. // See resumeFrameSource and pauseFrameSource below. this.camera = Camera.GetDefaultCamera(); if (this.camera != null) { // Use the settings recommended by barcode capture. this.dataCaptureContext.SetFrameSourceAsync(this.camera); } // Use the recommended camera settings for the BarcodeTracking mode as default settings. // The preferred resolution is automatically chosen, which currently defaults to HD on all devices. CameraSettings cameraSettings = BarcodeTracking.RecommendedCameraSettings; // Setting the preferred resolution to full HD helps to get a better decode range. cameraSettings.PreferredResolution = VideoResolution.FullHd; camera?.ApplySettingsAsync(cameraSettings); BarcodeTrackingSettings barcodeTrackingSettings = BarcodeTrackingSettings.Create(); // The settings instance initially has all types of barcodes (symbologies) disabled. // For the purpose of this sample we enable a very generous set of symbologies. // In your own app ensure that you only enable the symbologies that your app requires as // every additional enabled symbology has an impact on processing times. HashSet <Symbology> symbologies = new HashSet <Symbology>() { Symbology.Ean13Upca, Symbology.Ean8, Symbology.Upce, Symbology.Code39, Symbology.Code128 }; barcodeTrackingSettings.EnableSymbologies(symbologies); // Create new barcode tracking mode with the settings from above. this.barcodeTracking = BarcodeTracking.Create(this.dataCaptureContext, barcodeTrackingSettings); // Register self as a listener to get informed whenever a new barcode got recognized. this.barcodeTracking.AddListener(this); // To visualize the on-going barcode tracking process on screen, setup a data capture view // that renders the camera preview. The view must be connected to the data capture context. var dataCaptureView = DataCaptureView.Create(this.dataCaptureContext, this.View.Bounds); dataCaptureView.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth; this.View.AddSubview(dataCaptureView); this.View.SendSubviewToBack(dataCaptureView); BarcodeTrackingBasicOverlay.Create(this.barcodeTracking, dataCaptureView); }