Directshow录制/预览问题

我有一个项目需要使用DirectShow从网络摄像头录制video,但我需要能够在预览继续运行时停止录制。

我正在使用WPFMediaKit

http://wpfmediakit.codeplex.com/

问题是,当我录制video时,暂停function还会暂停应用程序中的预览窗格

我是DirectShow的新手,有什么建议可以解决这个问题或解决方案

非常感谢你。

PS我使用C#和WPF

我不知道WPFMediaKit,但基本上当你想在保持预览的同时开始/停止录制时,你需要两个图形,以及在这些图形之间连接的东西。 在GMFBridge页面上查看pdf文档 。

如果您在开始/停止录制时可以接受预览中的暂停,并且不想使用2图形GMFBridge方法,则可以断开video捕获源filter上的捕获引脚(假设您使用单独的预览和来自源filter的捕获引脚)或断开捕获子图的文件编写器链部分。

这里的问题是必须暂停filtergraph才能对其拓扑进行更改,因此您需要:

暂停图表断开连接或重新连接文件编写器链恢复图表

根据我的经验,暂时停顿不是很明显。

请使用ICaptureGraphBuilder2的StreamControl方法,它可以让您单独控制图形中的任何filter。