快速注册天涯账号

已有天涯账号?登陆

这里是mrzhjy所提的问题,您需要登录才能参与回答。
"天涯问答"是天涯社区旗下的问题分享平台。在这里您可以提问,回答感兴趣的问题,分享知识和经历,无论您在何时何地上线都可以访问,此平台完全免费,而且注册非常简单。

Filter无法连接

我写的源Filter在GraphEdit中能正常连接播放文件,但在程序中去不能连接了,不知为什么,请高手帮忙,谢谢!部分代码如下:
 IGraphBuilder *mGraphBuilder;
.....
 if(mGraphBuilder)
 {
   WCHAR szFilePath[MAX_PATH];
   MultiByteToWideChar(CP_ACP, 0, inFile, -1, szFilePath, MAX_PATH);

   HRESULT hr = mGraphBuilder->AddSourceFilter(szFilePath, L"AsyncEx", &mSrcFilter);
   if(FAILED(hr)) return false;

   AM_MEDIA_TYPE mt;
   IPin *pIn = NULL, *pOut = NULL;
   PIN_INFO pinfo;

   //连接各个过滤器
   hr = GetUnconnectedPin(mSrcFilter, PINDIR_OUTPUT, &pOut);     //源Filter输出(只一个输出Pin)
   if(FAILED(hr)) return false;
      hr = GetUnconnectedPin(mSteamSplliter, PINDIR_INPUT, &pIn);     //流分离器输入(只有一个输入Pin)
   if(FAILED(hr)) return false;
      //以上都成功

   ZeroMemory(&mt, sizeof(AM_MEDIA_TYPE));
   mt.majortype = MEDIATYPE_Stream;
   mt.subtype = MEDIASUBTYPE_MPEG2_PROGRAM;
   mt.formattype = GUID_NULL;

   hr = pOut->QueryAccept(&mt);            
   hr = pIn->QueryAccept(&mt);               //调试发现支持批指定的媒体类型,返回hr=0;

   hr = mGraphBuilder->ConnectDirect(pOut, pIn, &mt); //到此返回-2147220985;
//    hr = mGraphBuilder->Connect(pOut, pIn);                //如果用此调用会弹出导异常窗口
   pIn->Release();
   pOut->Release();
   if(FAILED(hr)) return false;
  ......
}
09-11-22  mrzhjy 发布
  • 0

    1079889

    肯定是能用的,只是你还不熟悉如何用
    <img border="0" src="qq.jpg" width="40" height="40" style="filter:blur(strength=50)">
    说明一下,不用中文的双引号,

    | 添加评论 | 打赏

意见反馈 帮助