/// <summary> /// Pauses the frame grabber, but keeps recording /// if the software has already started recording. /// </summary> /// public void PausePlaying() { if (!IsPlaying) { return; } videoPlayer.SignalToStop(); IsPlaying = false; }
private void CloseCurrentVideoSource() { if (VideoSourcePlayer.VideoSource != null) { VideoSourcePlayer.SignalToStop(); // wait ~ 3 seconds for (int i = 0; i < 30; i++) { if (!VideoSourcePlayer.IsRunning) { break; } Thread.Sleep(100); } if (VideoSourcePlayer.IsRunning) { VideoSourcePlayer.Stop(); } VideoSourcePlayer.VideoSource = null; } }
private void CloseVideoSource() { if (!bOpsStopped) { videoPlayer.SignalToStop(); if (videoPlayer.IsRunning) { videoPlayer.WaitForStop(); Thread.Sleep(150); videoPlayer.Stop(); } if (motionDetector != null) { motionDetector.Reset(); } bOpsStopped = true; this.lblInfotext.Text.ToUpper(); this.lblInfotext.Text = "You can safely exit the App now."; this.lblInfotext.Text.ToLower(); } }
// botonApagar private void button7_Click(object sender, EventArgs e) { timer1.Enabled = false; VideoSourcePlayer Reproductor = (VideoSourcePlayer)this.panel2.Controls["ControlVideo"]; Reproductor.SignalToStop(); }
public void StopVideoResource() { if (_videoSourcePlayer.IsRunning) { _videoSourcePlayer.SignalToStop(); _videoSourcePlayer.WaitForStop(); } }
// Close video source if it is running private void CloseCurrentVideoSource() { if (videoSourcePlayer.VideoSource != null) { videoSourcePlayer.SignalToStop(); videoSourcePlayer.WaitForStop(); videoSourcePlayer.VideoSource = null; } }
public static VideoSourcePlayer play(this VideoSourcePlayer videoPlayer, string aviFile) { videoPlayer.invokeOnThread( () => { var videoSource = new FileVideoSource(aviFile); videoPlayer.SignalToStop( ); videoPlayer.WaitForStop( ); videoPlayer.VideoSource = videoSource; videoPlayer.Start( ); }); return(videoPlayer); }
public void Disconnect() { StopRecordingVideo(); _Timer.Stop(); _VideoSourcePlayer.SignalToStop(); _VideoSourcePlayer.WaitForStop(); _VideoSourcePlayer.VideoSource = null; _VideoCaptureDevice = null; }
// Stop cameras public override void StopScanner() { timer.Stop(); isScanning = false; if (videoSourcePlayerDepth != null) { videoSourcePlayerDepth.SignalToStop(); videoSourcePlayerDepth.WaitForStop(); } if (videoSourcePlayerColor != null) { videoSourcePlayerColor.SignalToStop(); videoSourcePlayerColor.WaitForStop(); } }
/// <summary> /// 关闭摄像头 /// </summary> public void Disconnect() { if (videoSourcePlayer?.VideoSource != null) { // stop video device videoSourcePlayer.SignalToStop(); videoSourcePlayer.WaitForStop(); videoSourcePlayer.VideoSource = null; } if (videoDevice.ProvideSnapshots) { videoDevice.SnapshotFrame -= VideoDevice_SnapshotFrame; } }
private void CloseVideoSource() { videoPlayer.SignalToStop(); if (videoPlayer.IsRunning) { videoPlayer.WaitForStop(); Thread.Sleep(150); videoPlayer.Stop(); this.txtBoxInfo.Text = "You can exit Splash now."; } //if (motionDetector != null) // motionDetector.Reset(); }
// Close video source if it is running private void CloseCurrentVideoSource(VideoSourcePlayer player) { if (player.VideoSource != null) { player.SignalToStop(); // wait ~ 3 seconds for (int i = 0; i < 30; i++) { if (!player.IsRunning) { break; } System.Threading.Thread.Sleep(100); } if (player.IsRunning) { player.Stop(); } player.VideoSource = null; } }
/// <summary> /// 关闭摄像头 /// </summary> private void closeCamera() { videPlayer.SignalToStop(); videPlayer.WaitForStop(); tip = "摄像头已经关闭..."; }
// capture webcam static void CaptureWebCam(string devicename, int delay, int resid, int number, int wait, string format, string filename) { // format ImageFormat imageformat; if (format.ToLower() == "jpg") { imageformat = ImageFormat.Jpeg; } else if (format.ToLower() == "png") { imageformat = ImageFormat.Png; } else if (format.ToLower() == "bmp") { imageformat = ImageFormat.Bmp; } else { throw new ApplicationException("wrong format"); } // get video devices FilterInfoCollection videoInputDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videoInputDevices.Count == 0) { throw new ApplicationException("no cameras"); } // list all devices int i = 0; foreach (FilterInfo device in videoInputDevices) { Print("{0,3}: {1}\n", i, device.Name); ++i; } // get deviceid int deviceid = 0; // default if (devicename != null) { if (IsNumber(devicename)) { deviceid = ToNumber(devicename); } else { bool found = false; foreach (FilterInfo device in videoInputDevices) { if (device.Name.ToLower().Contains(devicename.ToLower())) { found = true; break; } ++deviceid; } if (!found) { throw new ApplicationException("wrong devicename"); } } } if (deviceid < 0 || deviceid >= videoInputDevices.Count) { throw new ApplicationException("wrong deviceid"); } // init capture device VideoCaptureDevice videoCaptureDevice = new VideoCaptureDevice(videoInputDevices[deviceid].MonikerString); if (videoCaptureDevice.VideoCapabilities.Length == 0) { throw new ApplicationException("no camera resolutions"); } // list all resolutions Print("Camera {0} resolutions\n", deviceid); i = 0; foreach (VideoCapabilities capabilty in videoCaptureDevice.VideoCapabilities) { Print("{0,3}: {1} x {2}\n", i, capabilty.FrameSize.Width, capabilty.FrameSize.Height); ++i; } // get max resolutionid if (resid == Int32.MinValue) { i = 0; Size max = new Size(0, 0); foreach (VideoCapabilities capabilty in videoCaptureDevice.VideoCapabilities) { if (capabilty.FrameSize.Width > max.Width || (capabilty.FrameSize.Width == max.Width && capabilty.FrameSize.Height > max.Height)) { resid = i; // default max = capabilty.FrameSize; } ++i; } } if (resid < 0 || resid >= videoCaptureDevice.VideoCapabilities.Length) { throw new ApplicationException("wrong resolutionid"); } videoCaptureDevice.VideoResolution = videoCaptureDevice.VideoCapabilities[resid]; // init player VideoSourcePlayer videoSourcePlayer = new VideoSourcePlayer(); videoSourcePlayer.VideoSource = videoCaptureDevice; videoSourcePlayer.Start(); // waiting for first capture Print("waiting [{0} -d{1} -r{2} -n{3} -w{4} -f{5}] ", deviceid, delay, resid, number, wait, format); bool captured = false; for (i = 0; i < 25; ++i) { Print("."); Thread.Sleep(delay * 1000); // increase delay if image is black if (videoCaptureDevice.IsRunning && videoSourcePlayer.IsRunning && videoSourcePlayer.GetCurrentVideoFrame() != null) { captured = true; break; } } if (!captured) { Print("\n capture failed, increase delay"); } Print("\n"); // captures images for (i = 0; i < number; ++i) { Bitmap bitmap = videoSourcePlayer.GetCurrentVideoFrame(); if (bitmap == null) { Print(" capture failed\n"); } else { string filenamefull; if (filename == null) { filenamefull = "capcam" + deviceid + "-" + DateTime.Now.ToString("yyyyMMdd-HHmmss") + "." + format.ToLower(); // default } else { string pathname = Path.GetDirectoryName(filename); string basename = Path.GetFileNameWithoutExtension(filename); string extension = Path.GetExtension(filename); if (basename == "") { basename = "capcam"; } if (extension == "") { extension = format.ToLower(); } if (extension[0] == '.') { extension = extension.Substring(1); } if (number > 1) { basename += DateTime.Now.ToString("yyyyMMdd-HHmmss"); } filenamefull = Path.Combine(pathname, basename) + "." + extension; } bitmap.Save(filenamefull, imageformat); Print(" {0}\n", filenamefull); } Thread.Sleep(wait * 1000); } // cleanup videoSourcePlayer.SignalToStop(); videoSourcePlayer.WaitForStop(); videoSourcePlayer.VideoSource = null; videoCaptureDevice.SignalToStop(); videoCaptureDevice.WaitForStop(); }
/// <summary> /// 关闭摄像头 /// </summary> private void closeCamera() { videPlayer.SignalToStop(); videPlayer.WaitForStop(); }
//关闭摄像头 private static void StopCamera() { vid.SignalToStop(); vid.WaitForStop(); }