读书人

directshow 如何在自己的程序中加载指

发布时间: 2012-09-02 21:00:34 作者: rapoo

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.

读书人网 >多媒体

热点推荐