CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  多媒体/流媒体开发

怎么使用别人开发好的filter,如myfilter.ax

楼主zyyoung(倡导开源)2005-08-18 12:54:29 在 专题开发/技术/项目 / 多媒体/流媒体开发 提问

别人给我的filter,我怎么把它使用到自己的vc程序里呢?  
                                                                                          me   是cai鸟. 问题点数:20、回复次数:9Top

1 楼zyyoung(倡导开源)回复于 2005-08-18 17:33:10 得分 0

upTop

2 楼javabean()回复于 2005-08-18 22:12:42 得分 0

首先要注册,regsvr32   C:\myfilter.ax     (给出你的路径),然后就可以通过GraphEdit查看这个filter了。当然也可以在程序中创建这个filter。  
  取消注册:regsvr32   /u   C:\myfilter.axTop

3 楼zyyoung(倡导开源)回复于 2005-08-19 12:21:23 得分 0

我想知道的就是如何在程序中,创建这个filter....Top

4 楼daizq()回复于 2005-08-20 21:58:40 得分 0

CoCreateInstance   ...   DirectShow   Sample里有介绍Top

5 楼__Shakespeare(杀死比尔)回复于 2005-08-21 08:59:15 得分 0

你得事先知道他的接口啊,要不然你怎么用。Top

6 楼zyyoung(倡导开源)回复于 2005-08-21 09:35:10 得分 0

请达人在这里,给个例子吧~~~~  
  3xTop

7 楼zyyoung(倡导开源)回复于 2005-08-22 12:58:43 得分 0

请达人在这里,给个例子吧~~~~  
  Top

8 楼yyhzpk(zpk)回复于 2005-08-22 13:24:00 得分 20

const   UUID   IID_IMpegRec={0x1d6733eb,   0xeb35,   0x45d2,   0x97,   0xc7,   0x10,   0x67,   0xb9,   0x83,   0xf9,   0xd6};  
  const   UUID   CLSID_MpegRec={0xaa7a5c57,   0xc913,   0x44d7,   0x93,   0x9f,   0xc8,   0x83,   0xda,   0x50,   0x94,   0x2c};  
  //const   UUID   CLSID_FfXvid={0x04fe9017,   0xf873,   0x410e,   0x87,   0x1e,   0xab,   0x91,   0x66,   0x1a,   0x4e,   0xf7};  
  const   UUID   CLSID_FfXvid={0x64697678,   0x0000,   0x0010,   0x80,   0x00,   0x00,   0xaa,   0x00,   0x38,   0x9b,   0x71};  
  const   UUID   CLSID_MJpeg   ={0x301056d0,   0x6dff,   0x11d2,   0x9e,   0xeb,   0x00,   0x60,   0x08,   0x03,   0x9e,   0x37};  
  const   UUID   CLSID_ColSpace   ={0x1643e180,   0x90f5,   0x11ce,   0x97,   0xd5,   0x00,   0xaa,   0x00,   0x55,   0x59,   0x5a};  
   
  INT   g_nCount   =   0;  
   
  BOOL   CAV::MakeGraph()  
  {  
  if   (m_pFg   !=   NULL)  
  return   TRUE;  
   
          HRESULT   hr   =   CoCreateInstance(CLSID_FilterGraph,   NULL,   CLSCTX_INPROC,  
  IID_IGraphBuilder,   (LPVOID   *)&m_pFg);  
          return   (hr   ==   NOERROR)   ?   TRUE   :   FALSE;  
  }  
   
  BOOL   CAV::Play(HWND   m_Hwnd,INT   x,INT   y,INT   width,INT   height,CString   strFormat)  
  {  
   
  HRESULT   hr;  
  BOOL   f;  
  USES_CONVERSION;  
  f   =   MakeGraph();  
  m_pFg->QueryInterface(IID_IMediaControl,   (void   **)&m_pMediaControl);  
   
  hr=CoCreateInstance(CLSID_MpegRec,   NULL,   CLSCTX_INPROC_SERVER,    
  IID_IBaseFilter,   (LPVOID   *)&m_pSouce);  
  m_pSouce->AddRef();  
  hr   =   m_pFg->AddFilter(m_pSouce,L"MpegRec");  
  hr   =   m_pSouce->QueryInterface(IID_IMpegRec,   (void   **)&m_pIRec);  
   
  m_pIRec->put_MpegRec   (m_szUser,m_szPsd,m_szIP,m_nPort,m_nCamID,m_nSize,m_nRate);  
  hr   =   GetUnconnectedPin(m_pSouce,PINDIR_OUTPUT,&m_pSout);  
  hr=CoCreateInstance(CLSID_MJpeg,   NULL,   CLSCTX_INPROC_SERVER,    
  IID_IBaseFilter,   (LPVOID   *)&m_pDecode);  
   
  hr   =   m_pFg->AddFilter(m_pDecode,L"Decode");  
   
  hr   =   m_pFg->Render(m_pSout);  
   
  if(hr   !=   NOERROR)  
  {  
  return   FALSE;  
  }  
   
  hr   =   m_pFg->QueryInterface(IID_IVideoWindow,   (void   **)&m_pVW);  
  if   (hr   !=   NOERROR)    
  {  
  // TRACE("This   graph   cannot   preview   properly");  
  return   FALSE;  
  }    
  else    
  {  
  m_pVW->put_Owner((long)m_Hwnd);         //   We   own   the   window   now  
  m_pVW->put_WindowStyle(WS_CHILD);         //   you   are   now   a   child  
   
  m_pVW->SetWindowPosition(x,   y,width,height);   //   be   this   big  
  m_pVW->put_Visible(OATRUE);  
  }  
  hr   =   m_pMediaControl->Run();  
   
  return   TRUE;Top

9 楼zhaojian999(香烟)回复于 2005-08-23 15:39:48 得分 0

上面的说得很好,不过你是初学的话可以看看陆其明第一本书,先搞好基础再来学怎么用Top

相关问题

  • 请问如何开发解码Filter
  • ce下的source filter开发问题
  • 开发Filter中遇到的问题(急死俺了):-(
  • 关于DirectShow中Souce Filter开发的一个问题,求教!
  • 请问如何在filter的开发中使用try、catch?
  • 《DirectShow开发指南》里面的MFC Filter的问题
  • 怎样开发一个render filter来显示RGB24数据呢?
  • 关于在线视频的问题``如何开发send filter 和recv filter
  • 如果有FILTER的开发高手,请帮我解决这个问题
  • 开发

关键词

  • myfilter
  • filter
  • ax
  • xaa
  • constuuid clsid
  • 程序
  • xf
  • xc

得分解答快速导航

  • 帖主:zyyoung
  • yyhzpk

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo