我有一个 Delphi 6 程序,它通过套接字从外部程序接收音频。现在,我想将该音频提供给我创建的 DirectShow 过滤器图表,该图表将该音频路由到 PC 上的不同输出过滤器。我正在使用 DSPACK 进行 DirectShow 过滤图工作。我将使用展示如何创建推送源过滤器的 DSPACK 示例之一作为我的起点。
是否可以将 DirectShow 过滤器直接嵌入到我的主 EXE 中,或者我是否必须创建外部 DLL 或 AX 文件并在其上运行 regsvr32?我想避免创建外部模块,否则我必须在它和我的主程序之间创建一个参数和数据传递桥,我宁愿消除这项工作。我想知道是否有一种方法可以简单地将推送源过滤器代码包含在我的主程序中,并巧妙地 Windows 将其作为 DirectShow 过滤器使用(如果可能的话)。
过滤器不必放入库 (DLL) 中,甚至不必是注册的 COM 对象,不是。如前所述,这样做的唯一原因是通过 CoCreateInstance 和/或通过 DirectShow 类别的枚举使过滤器可供应用程序使用。
直接放入您的应用程序中,它必须实现IBaseFilter
而且你会IFilterGraph::AddFilter
将其放入图表中。私有过滤器的一个优点是,您不需要通过 COM 接口实现应用程序和过滤器之间的通信,并且可以使用本机/直接指针。
另请参阅杰兰特的帖子无需注册即可使用过滤器.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)