在我的PC上进行年度清理时,重新安装了VC++ 2008之后,编译并正常工作的多媒体项目似乎产生了一个奇怪的错误:

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

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

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

该错误可能是由于文件损坏或文件版本错误导致的,还是我太愚蠢而找不到错误?在重新安装Windows(除Visual Studio C++ 2010)之前,我重新安装了PC上的所有应用程序。

我的配置:

Windows 7旗舰版x64 SP1

VC++ 2008 Express

已安装Windows 7 SDK amd64

DirectX SDK已于2010年6月安装

最佳答案

问题“已回答”,请在问题下方寻找评论...
简而言之:

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

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

实际上,可以删除此问题(无实际编码问题)!

关于c++ - DirectShow Graph::RenderFile-> VFW_E_NOT_FOUND与重建的项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9038883/

10-13 08:22