在我的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/