Вы можете использовать DirectShow
. Его написано в неуправляемом коде, поэтому вам нужно использовать этот обертку DirectShow.NET, чтобы использовать его в своем приложении C#, которое работает в управляемой среде (образцы включены, даже с EVR, что означает Enhanced video Renderer, что означает MUCH лучшее качество видео) , И когда вы передадите управляющий дескриптор методу обертки для установки вывода видео, вам понадобится элемент управления WinForms, потому что только от него вы можете получить требуемый дескриптор управления. Этот контроль WinForms может быть размещен в вашем приложении WPF с помощью элемента управления WindowsFormsHost
, который предоставляется для таких ситуаций, когда вам нужно использовать некоторые элементы управления WinForms в приложении WPF. Его справедливая теория, поэтому я не знаю, является ли это окончательное решение для вас.
BTW: Вся идея основана на факте, что DirectShow
- это всего лишь некоторый запрос, построенный из отдельных фильтров. Renderer - это фильтр (EVR, VMR-7, VMR-9). Звуковой проигрыватель - это фильтр. И они связаны через их контакты. Это как диаграмма. Электронная схема или что-то в этом роде. И вы можете добавить, например, фильтр Grey scale
. И voila, видеовыход будет серого. Для этого есть куча учебников. И завершили также простые фильтры. К сожалению, фильтры должны быть написаны на C++ :(
PS: Я никогда не говорил, что это собиралось быть легким: D
Ya, я хотел, чтобы обойти с помощью прямого шоу, чтобы сделать это, но я думаю, что это мой единственный вариант –
Согласно [this] (http://comments.gmane.org/gmane.comp.video.videolan.vlc.devel/74444), похоже, что в медиаплеере VLC они добавили поддержку шейдеров. [Там] (http : //sourceforge.net/projects/libvlcnet/) вы можете найти оболочку VLClib C#, которая может позволить вам использовать даже шейдеры. Это лучший вариант, чем DirectShow, потому что он очень прост в использовании и понимании. Поэтому я рекомендую вам попробовать vlclib first. – Steven
Возможно, я нашел другое решение. Абсолютно простое решение. И вы можете найти его здесь (http://social.msdn.microsoft.com/Forums/vstudio/en-US/ 31e6fe44-332d-4212-bcdd-552c3178de5c/МОФ-MediaPlayer класса-и-PixelShader). [This] (http://sourceforge.net/projects/mfnet/files/) является дополнением к моему предыдущему комментарию. – Steven