本文整理汇总了C#中AForge.Video.DirectShow.VideoCaptureDevice.SignalToStop方法的典型用法代码示例。如果您正苦于以下问题:C# VideoCaptureDevice.SignalToStop方法的具体用法?C# VideoCaptureDevice.SignalToStop怎么用?C# VideoCaptureDevice.SignalToStop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AForge.Video.DirectShow.VideoCaptureDevice
的用法示例。
在下文中一共展示了VideoCaptureDevice.SignalToStop方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetFrame
public void GetFrame()
{
// enumerate video devices
var videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
//foreach (FilterInfo item in videoDevices)
//{
//videoSource = new VideoCaptureDevice(item.MonikerString);
videoSource = new VideoCaptureDevice(videoDevices[1].MonikerString);
//videoSource.DesiredFrameSize = new Size(160, 120);
// create video source
//VideoCaptureDevice videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
// set NewFrame event handler
videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame);
// start the video source
videoSource.Start();
// ...
System.Threading.Thread.Sleep(500);
Trace.WriteLine("FramesReceived: " + videoSource.FramesReceived);
// signal to stop
videoSource.SignalToStop();
// ...
//}
}
示例2: StopVideo
public void StopVideo(VideoCaptureDevice videoSource)
{
if (videoSource != null && videoSource.IsRunning)
{
// stop the video source
videoSource.SignalToStop();
videoSource = null;
// ...
}
}
示例3: Main
private static void Main(string[] args)
{
Trace.Listeners.Add(new ConsoleTraceListener());
// enumerate video devices
var videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
if (videoDevices.Count > 0)
{
// create video source
var videoSource = new VideoCaptureDevice(
videoDevices[0].MonikerString);
int maxCapabilitieIndex = videoSource.VideoCapabilities.Count() - 1;
if (maxCapabilitieIndex > 0)
{
VideoCapabilities resolution = videoSource.VideoCapabilities[maxCapabilitieIndex];
videoSource.VideoResolution = resolution;
videoSource.SetCameraProperty(CameraControlProperty.Exposure, +20, CameraControlFlags.Manual);
// set NewFrame event handler
videoSource.NewFrame += video_NewFrame;
// start the video source
videoSource.Start();
int count = 0;
do
{
Thread.Sleep(100);
} while (imageCount < 20);
videoSource.SignalToStop();
}
else
{
//no capabilities
}
}
// ...
}
示例4: InternalStart
private void InternalStart()
{
var videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
if (videoDevices.Count == 0)
{
TraceFileHelper.Error("No video devices found.");
}
string moniker = null;
foreach (FilterInfo videoDevice in videoDevices)
{
if (videoDevice.Name == m_VideoDeviceName)
{
moniker = videoDevice.MonikerString;
break;
}
}
if (moniker == null)
{
TraceFileHelper.Error("Device not found");
return;
}
// create video source
var videoSource = new VideoCaptureDevice(moniker);
int maxCapabilitieIndex = videoSource.VideoCapabilities.Count() - 1;
if (maxCapabilitieIndex < 0)
{
TraceFileHelper.Warning("No camera image capabilities found.");
return;
}
VideoCapabilities resolution = videoSource.VideoCapabilities[maxCapabilitieIndex];
videoSource.VideoResolution = resolution;
// set NewFrame event handler
videoSource.NewFrame += video_NewFrame;
// start the video source
videoSource.Start();
do
{
Thread.Sleep(100);
} while (! m_StopRequested);
videoSource.SignalToStop();
m_ProcessingThread = null;
}