如何使用directshow从网络摄像头断开连接

本文关键字:摄像头 断开 连接 网络 何使用 directshow | 更新日期: 2023-09-27 17:48:58

我使用directshow.net与我的网络摄像头,它工作得很好。但是当我关闭窗体并再次打开它时,它会在方法SetupGraph()中给我一个错误,因为来自下一行代码的值是负的。

hr = capGraph.RenderStream(ref cat, ref med, capFilter, null, null);

但是当我拔掉相机的插头时,它第二次工作得很好。

我希望这不是什么大事。

如何使用directshow从网络摄像头断开连接

您可以尝试调用yourMediaControl.StopWhenReady()方法,然后使用Marshal.ReleaseComObject释放所有com对象实例,如graph, source, grabber, capture graph

IMediaControl。StopWhenReady 方法暂停过滤器图,允许筛选队列数据,然后停止过滤器图

重要的是,每次你启动网络摄像头视频时,你需要做所有这些:

  1. 创建图形生成器,过滤图形,设备对象,抓取器…<<li>渲染流/gh>
  2. 运行媒体控制
  3. 等待用户信号停止视频
  4. 停止媒体控制(StopWhenReady)
  5. 释放/销毁已创建的对象