C++ DirectShow Graph::RenderFile-->未找到重建项目的VFW\u E\u

C++ DirectShow Graph::RenderFile-->未找到重建项目的VFW\u E\u,c++,directshow,C++,Directshow,在我每年清理电脑时重新安装VC++2008后,我的多媒体项目在编译和运行时没有出现问题,似乎产生了一个奇怪的错误: 该应用程序基本上是一个媒体播放器,使用DirectShow。我已经用MSDN的标准示例重试过了,显然错误发生在这一行: hr = pGraph->RenderFile(L"C:\\TEST.avi"); hr HRESULT返回VFW_E_NOT_FOUND,我不知道为什么,因为示例文件在那里,我已经更改了位置和示例文件,但无论如何它总是失败 这个错误可能是由损坏的文件或错

在我每年清理电脑时重新安装VC++2008后,我的多媒体项目在编译和运行时没有出现问题,似乎产生了一个奇怪的错误:

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

hr = pGraph->RenderFile(L"C:\\TEST.avi");
hr HRESULT返回VFW_E_NOT_FOUND,我不知道为什么,因为示例文件在那里,我已经更改了位置和示例文件,但无论如何它总是失败

这个错误可能是由损坏的文件或错误的文件版本造成的,还是我太笨而找不到错误?在重新安装Windows之前,我重新安装了我在PC上的所有应用程序,除了VisualStudioC++ 2010。 我的配置:

Windows 7 Ultimate x64 SP1

VC++2008 Express

已安装Windows 7 SDK amd64


DirectX SDK 2010年6月安装

问题已回答,请查看问题下方的评论。。。 简言之:

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

TEST.avi==TEST.avi.avi==FALSE->me.idiot=true


事实上,这个问题可以删除没有真正的编码问题

问题已回答,请查看问题下方的评论。。。 简言之:

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

TEST.avi==TEST.avi.avi==FALSE->me.idiot=true


事实上,这个问题可以删除没有真正的编码问题

只为像我这样试图找到答案的人准备

就我而言,这条路是正确的。但我还是发现了同样的错误。 我试图用媒体播放器打开一个视频文件,但也出现了一个错误。 问题在于缺少编解码器

解决方案是安装。
错误消失了。

只适用于像我这样试图找到答案的人

就我而言,这条路是正确的。但我还是发现了同样的错误。 我试图用媒体播放器打开一个视频文件,但也出现了一个错误。 问题在于缺少编解码器

解决方案是安装。
错误消失了。

您的全新操作系统中是否缺少编解码器?你能播放同一个文件win wmplayer吗?你能用Windows MP播放它,甚至用GraphEdit构建图形…不知道我在这里有什么讨厌的地方…确保你有适用于X86和X64 CPU体系结构的编解码器,或者尝试将你的项目构建为32位,wmplayer只有在我记得正确的情况下才是32位。GRRRR…我想要一个windows的“显示任何内容”按钮。。。。你知道有什么问题吗??我没有正确设置文件夹选项,因为它被用来->显示所有扩展名,并像往常一样添加了AVI扩展名,将文件重命名为Test.AVI.AVI,天哪,我真是个白痴!!也许你的全新操作系统中缺少一个编解码器?你能播放同一个文件win wmplayer吗?你能用Windows MP播放它,甚至用GraphEdit构建图形…不知道我在这里有什么讨厌的地方…确保你有适用于X86和X64 CPU体系结构的编解码器,或者尝试将你的项目构建为32位,wmplayer只有在我记得正确的情况下才是32位。GRRRR…我想要一个windows的“显示任何内容”按钮。。。。你知道有什么问题吗??我没有正确设置文件夹选项,因为它被用来->显示所有扩展名,并像往常一样添加了AVI扩展名,将文件重命名为Test.AVI.AVI,天哪,我真是个白痴!!您必须承认API是有用的,并向您提供了相关的错误代码:您必须承认API是有用的,并向您提供了相关的错误代码: