如何设置DirectShow过滤器的属性

时间:2011-02-08 07:26:58

标签: properties filter set directshow

好的我有这个3D电视转换滤镜。我可以使用GraphEdit轻松配置其属性,右键单击其属性并设置我想要的任何内容。

现在我想通过在C ++中构建Filter Graph来自动设置属性。 我已经阅读了Windows SDK文档并发现我必须使用IKsPropertySet函数(如果我错了,请更正我)。

我必须使用IKsPropertySet :: QuerySupported来检查它是否支持这种属性。要做到这一点,我必须知道

dwPropID

[in]属性集中属性的标识符。

但我怎样才能获得该ID。像这个过滤器具有调整水平和垂直的属性,但我找不到该属性的ID。

无论如何都要列出过滤器支持的所有属性ID吗?

1 个答案:

答案 0 :(得分:1)

directshow过滤器的功能通常通过接口公开。标准directshow接口或自定义接口。您可以通过调用COM对象上的QueryInterface来获取接口(可能是您的过滤器,但它也可能是其中一个引脚)。过滤器文档中可能描述了过滤器公开的接口类型。

在您深入编码之前,我想您会尝试查看有关directshow和COM的一些信息。 Here你会找到一些关于DirecShow的信息。 here你会发现一些关于COM的内容。

如果您打算在.net中执行此操作,请尝试搜索directshownet。它是一个开源项目,它包装了directshow API,以便在托管代码中使用。

-Svein