public CameraDevice GetFirstCameraDevice() { CameraDevice cameraDevice = null; // enumerate video devices FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if ((videoDevices != null) && (videoDevices.Count > 0)) { // create video source VideoCaptureDevice videoDevice = new VideoCaptureDevice(videoDevices[0].MonikerString); List<CameraDevice> devicesData = _config.GetConfiguredCameraDevicesData().Where(a => a.ID == videoDevice.Source).ToList(); if ((devicesData != null) && (devicesData.Count > 0)) { cameraDevice = devicesData[0]; } else { cameraDevice = new LocalCameraDevice(); cameraDevice.ID = videoDevice.Source; cameraDevice.Name = "Camera"; _config.AddCameraDevice(cameraDevice); _config.Save(); } (cameraDevice as LocalCameraDevice).Init(videoDevice); } return cameraDevice; }
public static CameraDevice DetectCameraDeviceHardware() { LocalCameraDevice cameraDevice = null; // enumerate video devices FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if ((videoDevices != null) && (videoDevices.Count > 0)) { // create video source VideoCaptureDevice videoDevice = new VideoCaptureDevice(videoDevices[0].MonikerString); cameraDevice = new LocalCameraDevice(); cameraDevice.Init(videoDevice); } return cameraDevice; }