我正在尝试实现我创建的 graphedit 过滤器文件。我正在使用 3ivx 对视频进行编码和压缩,然后将其保存为 .mp4。

在我的 graphedit 文件中,我有:

Mpeg4s Decoder DMO (out0) -> (XForm In) 3ivx MPEG-4 Video Encoder (XForm Out)->

但是,当我将其写入代码时,无法找到引脚 (XForm In) 和 (XForm Out),因此无法连接。

我将运行图添加到 DsRot 以显示当前图,它显示了 (XForm In) 和 (XForm Out) 引脚未连接的过滤器。

我打了电话
IEnumPins pinsx;
filter.EnumPins( out pinsx );

尝试获取哪些引脚可用,但它不会将名称存储在 IEnumPins 中,而是存储对象。

如何找到与此过滤器关联的引脚?

最佳答案

查看 Splicer.Utilities.FilterGraphTools (codeplex) 中的 FindPinByDirection 函数。

还有一个 ConnectFilters 函数,您可能可以使用它:

public static void ConnectFilters(IGraphBuilder graphBuilder,
            IBaseFilter upFilter, IBaseFilter downFilter,
            bool useIntelligentConnect)

关于c# - 如何识别 DirectShowNet 过滤器引脚,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6363550/

10-13 04:25