2010-05-14 2 views
0

Вот фрагмент кода из библиотеки DirectShowNet, используемый для открытия видеофайла:DirectShow.NET открыть любой файл, Windows Media Player может открыть

this.graphBuilder = (IGraphBuilder) new FilterGraph(); 
// Have the graph builder construct its the appropriate graph automatically 
hr = this.graphBuilder.RenderFile(filename, null); 

но метод RenderFile терпит неудачу. В то же время проигрыватель Windows Media отлично отображает тот же файл. В чем может быть проблема.

я получил такое же поведение без DirectShowNet, но с использованием нативного кода C++ ...

+0

Просто еще одна информация: Render File из Direct Show Filter Graph Editor работает хорошо, но программно, RenderFile не работает. –

+1

Параметр меню Render File Graphedt вызывает RenderFile. Если они ведут себя по-другому, возможно, вы работаете в разных средах (например, x64 vs x86 или admin vs non-admin). –

ответ

0

Как отметил Geraint Davies в комментарии: «Параметр меню« Файл рендеринга Graphedt »вызывает RenderFile. Если они ведут себя по-другому, возможно, вы работаете в разных средах (например, x64 vs x86 или admin vs non-admin)». .. Фактически проблема заключалась не в архитектуре или привилегиях, а в какой-то другой части кода, связанной с поиском в видео, который не был хорошо выполнен на видео, которое я тестировал.

0

проигрыватель Windows Media Player использует WMF SDK и MF, а также DirectShow.

+0

Если я хорошо понимаю, WMF используется для видеоформатов Windows (например, WMV) ... но у меня возникают проблемы с различными типами файлов (но не со всеми файлами какого-либо типа, только некоторые из файлов хорошо открываются в WMP и не в моей заявке). –

 Смежные вопросы

  • Нет связанных вопросов^_^