InvalidOperationException - 对象目前在其他地方使用?

时间:2014-12-26 10:51:49

标签: c# stream webcam

我正在使用网络摄像头来显示实时流,捕获图像,录制视频等使用AForge库。

每次我得到一个新帧时,我都会将它分配给一个图片框以显示实时流,并且我已经添加了一个用于在检查时录制视频的工具条。所以我用同样的方法做了。

private void video_NewFrame( object sender, NewFrameEventArgs eventArgs)
{
   // Assigning new frame to a picturebox
   pictureBox1.Image = newFrame;

    if(recordVideo.Checked)
    {
       writer.AddFrame(newFrame);
    }
}

选中录制视频工具条时。我打开avi文件。

writer.Open("test.avi", pictureBox1.Width, pictureBox1.Height);

当取消选中时我关闭文件。

writer.Close();

但是当我开始录制视频时,我收到以下错误:

  

无效的操作异常 - 对象目前正在其他地方使用。

1 个答案:

答案 0 :(得分:0)

只需像这样使用

pictureBox1.Image = newFrame.Clone() as Bitmap;