在运行一次后无法查看网络摄像头。 C#

时间:2015-08-24 21:54:46

标签: c# video reference webcam

标题可能听起来令人困惑,但在这里不好解释。我正在制作一个程序,使用"简易网络摄像头显示摄像头中的网络摄像头捕获"外部参考。如果我打开我的电脑,进入VS,打开项目并运行,它将工作,显示我的网络摄像头捕获。如果我停止程序然后再次运行它,当我尝试显示它时,我得到一个弹出窗口,要求我选择一个视频源,没有任何选项甚至是我的网络摄像头,然后另一个弹出窗口将显示

"捕捉视频图像时出现错误。视频捕获现在将被终止。

对象引用未设置为对象的实例"

我能想到的唯一一件事就是第一次设置相机但是当我关闭它时我没有正常关闭它所以当我再次运行它时它不会工作。不管怎样,继承了相关的代码,如果回答的话,请记住,我不是在编码时经历的,所以有时你可能需要拼出来的东西

using WebCam_Capture;

namespace WindowsWebRef
{
public partial class Frm_Main : Form
{
    public Frm_Main()
    {
        InitializeComponent();
    }
    WebCam webcam;
    private void button1_Click(object sender, EventArgs e)
    {
        webcam.Start();
    }

    private void Frm_Main_Load(object sender, EventArgs e)
    {
        webcam = new WebCam();
        webcam.InitializeWebCam(ref WebCamIMG);
    }

网络摄像头课......

    class WebCam
{
    private WebCamCapture webcam;
    private System.Windows.Forms.PictureBox _FrameImage;
    private int FrameNumber = 30;
    public void InitializeWebCam(ref System.Windows.Forms.PictureBox ImageControl)
    {
        webcam = new WebCamCapture();
        webcam.FrameNumber = ((ulong)(0ul));
        webcam.TimeToCapture_milliseconds = FrameNumber;
        webcam.ImageCaptured += new WebCamCapture.WebCamEventHandler(webcam_ImageCaptured);
        _FrameImage = ImageControl;
    }

    void webcam_ImageCaptured(object source, WebcamEventArgs e)
    {
        _FrameImage.Image = e.WebCamImage;
    }

    public void Start()
    {
        webcam.TimeToCapture_milliseconds = FrameNumber;
        webcam.Start(0);
    }

0 个答案:

没有答案