如何在运行时添加/删除一些过滤器以绘制图形?

瓦希德(Vahid K.)

我想在运行时将Compressor,Avi Muxer和File Writer添加到我的图形中。我已经将InfTee添加到我的图形中,如下所示:

            IBaseFilter sourceTee = (IBaseFilter)new InfTee();
            graphBuilder.AddFilter(sourceTee, "Infinite Tee");
            outPin = DsFindPin.ByDirection(theVideoDevice, PinDirection.Output, 0);
            inPin = DsFindPin.ByDirection(sourceTee, PinDirection.Input, 0);
            hr = graphBuilder.Connect(outPin, inPin); 

但是,当我尝试像下面的代码一样在按钮单击上获得输出时,出现错误。

    private void button1_Click(object sender, EventArgs e)
    {

        IPin outPin, inPin;
        int hr;


        // Connect To Compressor
        outPin = DsFindPin.ByDirection(Preview_Class.smartTeeFilter, PinDirection.Output ,1);
        inPin = DsFindPin.ByDirection(Preview_Class.theVideoCompressor, PinDirection.Input, 0);
        hr = Preview_Class.graphBuilder.Connect(outPin, inPin);
        DsError.ThrowExceptionForHR(hr);
        // etc
        }

我必须注意,在预览时我的视频渲染器的输出引脚为0,但是我想通过单击按钮来添加录制功能。

任何帮助,将不胜感激。

罗曼·R。

简短答案

运行过滤器图时,无法添加/删除过滤器,也无法连接/断开引脚。无法执行此操作的原因在于,这些操作假定过滤器处于停止状态,而过滤器图形状态转换假定该图中的所有过滤器都随图形本身一起改变状态。

更长的答案

MSDN / DirectShow增加了使用动态重新连接方法运行时更改拓扑的灵活性虽然算法定义得很好,但是股票过滤器和第三方过滤器很少实现它。也就是说,DirectShow的整个部分向开发人员提供了一个提示:“如果您渴望的话,如何在自己的过滤器中自己实现它”。

C#代码是DirectShow技术的使用者,它处理事实上可用的内容,而不是动态重新连接。一种典型的方法是桥接(请参阅上面的Wimmel的评论,然后搜索论坛-它被多次提及)。

也可以看看:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用pandas和matplotlib,当我排除一些行时如何绘制图形?

来自分类Dev

如何在 Realm java 查询中添加一些过滤器并删除一些过滤器列表

来自分类Dev

Java Spring - 在运行时添加和删除过滤器

来自分类Dev

如何在运行时更改log4perl附加程序的过滤器?

来自分类Dev

如何在运行时更改log4perl附加程序的过滤器?

来自分类Dev

javascript在运行时构建过滤器功能

来自分类Dev

如何使用 JavaScript 在 html 画布中为特殊过滤器绘制图像

来自分类Dev

很难理解Swing图形...以及如何在运行时绘制

来自分类Dev

用图片替换一些文本:如何绘制图像而不是句子中的单词

来自分类Dev

如何在运行时更改可绘制资源?

来自分类Dev

如何在Matlab中绘制图形的背景?

来自分类Dev

如何在python中针对索引绘制图形

来自分类Dev

如何在单个子图中绘制图形列表?

来自分类Dev

如何在R中使用ggplot绘制图形

来自分类Dev

如何在ChartPanel顶部绘制图形?

来自分类Dev

如何在Matlab中绘制图形的重叠区域?

来自分类Dev

如何在R中按标签绘制图形

来自分类Dev

如何在熊猫中绘制图形计数表

来自分类Dev

Autofac Web Api过滤器-在运行时声明

来自分类Dev

当地图正在运行时,React中的过滤器方法不起作用

来自分类Dev

FFmpeg在运行时更改音频过滤器参数

来自分类Dev

Android App 在运行时无法工作,需要一些时间才能工作,如何解决此问题

来自分类Dev

Three.js:如何在运行时添加和删除灯光?

来自分类Dev

如何在运行时正确修改iOS表格视图单元(添加/删除子视图?)

来自分类Dev

如何在JavaScript中在运行时中向对象添加/删除属性

来自分类Dev

如何在运行时删除危险权限?

来自分类Dev

如何在运行时从nlb删除节点?

来自分类Dev

如何在运行时在Typescript中添加属性

来自分类Dev

如何在运行时添加和显示JLabel?

Related 相关文章

  1. 1

    使用pandas和matplotlib,当我排除一些行时如何绘制图形?

  2. 2

    如何在 Realm java 查询中添加一些过滤器并删除一些过滤器列表

  3. 3

    Java Spring - 在运行时添加和删除过滤器

  4. 4

    如何在运行时更改log4perl附加程序的过滤器?

  5. 5

    如何在运行时更改log4perl附加程序的过滤器?

  6. 6

    javascript在运行时构建过滤器功能

  7. 7

    如何使用 JavaScript 在 html 画布中为特殊过滤器绘制图像

  8. 8

    很难理解Swing图形...以及如何在运行时绘制

  9. 9

    用图片替换一些文本:如何绘制图像而不是句子中的单词

  10. 10

    如何在运行时更改可绘制资源?

  11. 11

    如何在Matlab中绘制图形的背景?

  12. 12

    如何在python中针对索引绘制图形

  13. 13

    如何在单个子图中绘制图形列表?

  14. 14

    如何在R中使用ggplot绘制图形

  15. 15

    如何在ChartPanel顶部绘制图形?

  16. 16

    如何在Matlab中绘制图形的重叠区域?

  17. 17

    如何在R中按标签绘制图形

  18. 18

    如何在熊猫中绘制图形计数表

  19. 19

    Autofac Web Api过滤器-在运行时声明

  20. 20

    当地图正在运行时,React中的过滤器方法不起作用

  21. 21

    FFmpeg在运行时更改音频过滤器参数

  22. 22

    Android App 在运行时无法工作,需要一些时间才能工作,如何解决此问题

  23. 23

    Three.js:如何在运行时添加和删除灯光?

  24. 24

    如何在运行时正确修改iOS表格视图单元(添加/删除子视图?)

  25. 25

    如何在JavaScript中在运行时中向对象添加/删除属性

  26. 26

    如何在运行时删除危险权限?

  27. 27

    如何在运行时从nlb删除节点?

  28. 28

    如何在运行时在Typescript中添加属性

  29. 29

    如何在运行时添加和显示JLabel?

热门标签

归档