以下是DirectShowNet库的代码片段,用于打开视频文件:
this.graphBuilder = (IGraphBuilder) new FilterGraph();
// Have the graph builder construct its the appropriate graph automatically
hr = this.graphBuilder.RenderFile(filename, null);
但RenderFile方法失败。同时,Windows Media Player可以很好地打开同一个文件。可能是什么问题。
我在没有DirectShowNet的情况下获得了相同的行为,但使用的是原生C ++代码......
答案 0 :(得分:0)
Windows媒体播放器使用WMF sdk和MF以及directshow。
答案 1 :(得分:0)
正如Geraint Davies在评论中指出的那样:“Graphedt的Render File菜单选项调用RenderFile。如果这些行为不同,那么也许你在不同的环境中运行(例如x64 vs x86或admin vs non-admin)。”..实际上问题不是架构或特权,而是代码的其他部分与视频中的搜索有关,而我在测试的视频上表现不佳。