DirectShow Graph :: RenderFile - >带有重建项目的VFW_E_NOT_FOUND

时间:2012-01-27 19:24:16

标签: c++ directshow

在我的PC年度清理过程中重新安装VC ++ 2008之后,我编译和工作的多媒体项目似乎产生了一个奇怪的错误:

该应用程序基本上是一个媒体播放器并使用DirectShow。我已经使用MSDN "HOW TO PLAY A FILE"的标准示例重试了它,显然错误发生在这一行:

hr = pGraph->RenderFile(L"C:\\TEST.avi");

hr(HRESULT)返回VFW_E_NOT_FOUND,我不知道为什么因为示例文件在那里,我已经更改了位置和示例文件,但无论如何它都会失败。

这个错误是由于文件损坏还是错误的文件版本造成的,还是我太笨了而无法找到错误?在重新安装Windows之前,我重新安装了我在PC上的每个应用程序,除了Visual Studio C ++ 2010。

我的配置:

Windows 7 Ultimate x64 SP1

VC ++ 2008 Express

安装Windows 7 SDK amd64

DirectX SDK 2010年6月安装

2 个答案:

答案 0 :(得分:0)

问题“已回答”,请查看问题下方的评论...... 简而言之:

文件夹选项 - >隐藏已知扩展名复选框。 将文件重命名为“TEST.avi”会产生真实姓名:TEST.avi.avi

(TEST.avi == Test.avi.avi)== FALSE - > me.idiot = true;

实际上,这个问题可以删除(没有真正的编码问题)!

答案 1 :(得分:0)

仅限像我这样会尝试寻找答案的人。

就我而言,路径是正确的。但我仍然得到同样的错误VFW_E_NOT_FOUND。 我试图用媒体播放器打开一个视频文件,我也收到了错误。 问题在于缺少编解码器。

解决方案是安装K-Lite Codec Pack。 错误消失了。