public bool Start(int DeviceNo) { try { FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); MonikerString = videoDevices[DeviceNo].MonikerString; _videoSource = new VideoCaptureDevice(MonikerString); VideoSource = new MyAsyncVideoSource(_videoSource, true); //SetMaxResolution(); VideoSource.NewFrame += NewFrame; VideoSource.Start(); FrameNumber = 0; // measure range int min, max, step, def; CameraControlFlags ccflags; VideoProcAmpFlags vpflags; _videoSource.GetCameraPropertyRange(CameraControlProperty.Exposure, out min, out max, out step, out def, out ccflags); ExposureRange = String.Format("{0} to {1})", min, max, step); _videoSource.GetVideoPropertyRange(VideoProcAmpProperty.Brightness, out min, out max, out step, out def, out vpflags); BrightnessRange = String.Format("{0} to {1})", min, max, step); timer.Elapsed += delegate { FPSReceived = VideoSource.FramesReceived; FPSProcessed = VideoSource.FramesProcessed; }; timer.Start(); return(VideoSource.IsRunning); } catch { return(false); } }
public void Close() { if (VideoSource == null || !VideoSource.IsRunning) { return; } timer.Stop(); VideoSource.SignalToStop(); VideoSource.WaitForStop(); // problem? VideoSource.NewFrame -= NewFrame; VideoSource.Stop(); VideoSource = null; MonikerString = ""; }
public void Close() { if (VideoSource == null || !VideoSource.IsRunning) return; timer.Stop(); VideoSource.SignalToStop(); VideoSource.WaitForStop(); // problem? VideoSource.NewFrame -= NewFrame; VideoSource.Stop(); VideoSource = null; MonikerString = ""; }
public bool Start(int DeviceNo) { try { FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); MonikerString = videoDevices[DeviceNo].MonikerString; _videoSource = new VideoCaptureDevice(MonikerString); VideoSource = new MyAsyncVideoSource(_videoSource, true); //SetMaxResolution(); VideoSource.NewFrame += NewFrame; VideoSource.Start(); FrameNumber = 0; // measure range int min,max,step,def; CameraControlFlags ccflags; VideoProcAmpFlags vpflags; _videoSource.GetCameraPropertyRange(CameraControlProperty.Exposure, out min, out max, out step, out def, out ccflags); ExposureRange = String.Format("{0} to {1})", min, max, step); _videoSource.GetVideoPropertyRange(VideoProcAmpProperty.Brightness, out min, out max, out step, out def, out vpflags); BrightnessRange = String.Format("{0} to {1})", min, max, step); timer.Elapsed += delegate { FPSReceived = VideoSource.FramesReceived; FPSProcessed = VideoSource.FramesProcessed; }; timer.Start(); return VideoSource.IsRunning; } catch { return false; } }