mfc中利用opencv的cvCaptureFromFile 打开视频文件失败,该如何解决

mfc中利用opencv的cvCaptureFromFile 打开视频文件失败
各位高手,请教一个问题,在mfc中,利用CFIleDialog返回的路径名转换为char *类型,之后利用cvCaptureFromFile(char * filename) 总是提示打开失败,请问各位有遇到过这样的问题吗?
button中双击事件的部分代码如下:
  static TCHAR BASED_CODE fileform[]=_T("视频文件(*.avi) and *.avi");
  CFileDialog cfdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,fileform,this);
  if (IDOK==cfdlg.DoModal())
  {
m_videoPath=cfdlg.GetPathName();
((CButton*)GetDlgItem(IDC_EDITLibfile))->SetWindowText(m_videoPath);
m_videoPath.Replace(_T("\\"),_T("\\\\"));
if (!(pcapture=cvCaptureFromFile((char *)m_videoPath.GetBuffer(m_videoPath.GetLength()))))
{
MessageBox(_T("Can not open the video file"));
}
m_videoPath.ReleaseBuffer();

在网上看有的解决办法是说 要安装一个K-Lite Mega Codec解码器就可以了 ,可是我已经安装过了 还是出现这样的错误,cvCaptureFromFile()返回值为0.


------解决方案--------------------
cvCaptureFromFile 是opencv中的一个函数 它的原型是cvcapture* cvCaptureFromFile(const char * filename)
------解决方案--------------------
CvCapture类(结构)使用了unicode