【发布时间】:2014-12-26 19:38:21
【问题描述】:
我正在使用网络摄像头通过 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();
但是当我开始录制视频时出现以下错误:
无效操作异常 - 对象当前正在其他地方使用。
【问题讨论】:
-
打开writer后有没有关闭它?
-
究竟是哪个调用(源代码中的哪一行)抛出异常?
-
是的。当我取消选中开始录制工具条时,我关闭了文件。
-
@DrKoch 在编写框架(添加框架)时会引发此错误。