public void Start() { if (!connected) { try { TimerResolution.TimeBeginPeriod(1); List <string> deviceNames = CaptureDevice.GetDeviceNames(); int deviceIndex = deviceNames.IndexOf(deviceName); if (deviceIndex >= 0) { millisecondSleepInterval = (int)Math.Round(1000 / (double)this.frameRate); List <CameraResolution> cr = CaptureDevice.GetAvailableResolutions(deviceIndex); captureDevice = new CaptureDevice(deviceIndex, this.frameRate, this.ImageWidth, this.ImageHeight); captureDevice.Start(); connected = true; OnCameraStarted(); // OnCameraStarted(); // captureDevice.SetVideoProperty(VideoProcAmpProperty.Brightness, 200); } } catch { connected = false; } } if (connected) { runThread = new Thread(new ThreadStart(RunLoop)); runThread.Start(); } }
public static List <string> GetDeviceNames() { return(CaptureDevice.GetDeviceNames()); }