directshow CoCreateInstance false 解决方案!!!!

来源:互联网 发布:easycap 采集软件 编辑:程序博客网 时间:2024/05/21 11:08
 

本人在做directshow视频播放器,在做的过程中,发现视频一直播放不了,而其他人的实例去可以播放!通过调试,发现 CoCreateInstance 一直返回false!

查了网上资料,发现缺少初始化:

首先,需要调用CoInitialize来作初始化,然后调用CoCreateInstance创建Filter Graph Manager

 

CDXGraph::CDXGraph()
{
 mGraph        = NULL;
 mMediaControl = NULL;
 mEvent        = NULL;
 mBasicVideo   = NULL;
 mBasicAudio   = NULL;
 mVideoWindow  = NULL;
 mSeeking      = NULL;

 mObjectTableEntry = 0;

 /************************************************************************/
 /* 需要调用CoInitialize来作初始化,然后调用CoCreateInstance创建Filter Graph Manager                                                                     */
 /************************************************************************/
 HRESULT hr = CoInitialize(NULL);
 if (FAILED(hr))
 {
  return;
 }

}

 

再一次,保存,运行  实现视频播放!