首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

directshow 如何在自己的程序中加载指定的外部的ax filter

2012-09-02 
directshow 怎么在自己的程序中加载指定的外部的ax filter播放视频 不想注册AX控件到注册表。想由自己的程

directshow 怎么在自己的程序中加载指定的外部的ax filter
播放视频 不想注册AX控件到注册表。想由自己的程序自己加载AX 滤镜 
并播放视频文件...
 该着么做?
 有代码的发个我看看 邮箱:nbachenxiao@126.com
 谢谢,可以的立马给分...

[解决办法]
取得.ax导出的DllGetClassObject(),然后就可以生成对象实例了
[解决办法]
同一楼,其实CoCreateInstance主要也就是调用了暴露出来的那些个函数,通过类厂创建出Filter。
注册到系统注册表,CoCreateInstance才能找到具体的Filter文件位置,
如果自己想调用,把环境配置好,参考COM的使用方法应该可以自己调用。
[解决办法]
注册AX文件到系统中后才能通过CoCreateInstance创建,不然会找不到AX文件无法创建成功的。
一般创建Filter么,就用CoCreateInstance(clsid,0,CLSCTX_INPROC_SERVER,IID_IBaseFilter,(void**)(&pFilter));
clsid就是AX Filter的clsid,可以通过GraphEdit添加filter时查看到。
比如:@device:sw:{083863F1-70DE-11D0-BD40-00A0C911CE86}\{04FE9017-F873-410E-871E-AB91661A4EF7}
{04FE9017-F873-410E-871E-AB91661A4EF7}就是这个Filter的CLSID.

热点排行