在我的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月安装
答案 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。 错误消失了。