示例#1
0
 public CameraDeviceManager()
 {
     UseExperimentalDrivers = true;
     SelectedCameraDevice   = new NotConnectedCameraDevice();
     ConnectedDevices       = new AsyncObservableCollection <ICameraDevice>();
     _deviceEnumerator      = new DeviceDescriptorEnumerator();
     WiaDeviceManager       = new DeviceManager();
     WiaDeviceManager.RegisterEvent(Conts.wiaEventDeviceConnected, "*");
     WiaDeviceManager.RegisterEvent(Conts.wiaEventDeviceDisconnected, "*");
     WiaDeviceManager.OnEvent += DeviceManager_OnEvent;
 }
示例#2
0
        public CameraDeviceManager(string datafolder = null)
        {
            UseExperimentalDrivers = false;
            LoadWiaDevices         = true;
            StartInNewThread       = false;
            DetectWebcams          = false;
            //Test
            //CustomDeviceClass = new Dictionary<string, Type>();
            SelectedCameraDevice = new NotConnectedCameraDevice();
            ConnectedDevices     = new AsyncObservableCollection <ICameraDevice>();
            _deviceEnumerator    = new DeviceDescriptorEnumerator();
            LiveViewImage        = new ConcurrentDictionary <ICameraDevice, byte[]>();
            LastCapturedImage    = new ConcurrentDictionary <ICameraDevice, string>();
            WifiDeviceProviders  = new List <IWifiDeviceProvider>();


            // prevent program crash in something wrong with wia
            try
            {
                WiaDeviceManager = new DeviceManager();
                WiaDeviceManager.RegisterEvent(Conts.wiaEventDeviceConnected, "*");
                WiaDeviceManager.RegisterEvent(Conts.wiaEventDeviceDisconnected, "*");
                WiaDeviceManager.OnEvent += DeviceManager_OnEvent;
                Log.Error("Wia initialized");
            }
            catch (Exception exception)
            {
                Log.Error("Error initialize WIA", exception);
            }
            if (datafolder != null && Directory.Exists(datafolder))
            {
                try
                {
                    var files = Directory.GetFiles(datafolder, "*.xml");
                    foreach (var file in files)
                    {
                        var device = DeviceDescription.Load(file);
                        if (device != null)
                        {
                            _deviceDescriptions.Add(device);
                        }
                    }
                }
                catch (Exception)
                {
                    Log.Error("Error loading custom data");
                }
            }
        }
        public CameraDeviceManager()
        {
            UseExperimentalDrivers = true;
            SelectedCameraDevice   = new NotConnectedCameraDevice();
            ConnectedDevices       = new AsyncObservableCollection <ICameraDevice>();
            _deviceEnumerator      = new DeviceDescriptorEnumerator();
            LiveViewImage          = new Dictionary <ICameraDevice, byte[]>();

            // prevent program crash in something wrong with wia
            try
            {
                WiaDeviceManager = new DeviceManager();
                WiaDeviceManager.RegisterEvent(Conts.wiaEventDeviceConnected, "*");
                WiaDeviceManager.RegisterEvent(Conts.wiaEventDeviceDisconnected, "*");
                WiaDeviceManager.OnEvent += DeviceManager_OnEvent;
            }
            catch (Exception exception)
            {
                Log.Error("Error initialize WIA", exception);
            }
        }