2012-06-28 30 views
0

我正在嘗試將一個WPF應用程序的mediacapture流應用於正在移植到Metro的WPF應用程序。在WPF應用程序中,我使用像素着色器來修改其源設置爲網絡攝像頭流的位圖,但由於Metro的效果已經下降,因此我正在尋找替代解決方案。Metro MediaCapture MFT效果解釋

最好的,也是大多數符合Metro標準的方法,我找到的方法是構建自己的MFT並通過addEffectAsync()方法將它們添加到我的MediaCapture元素中。我已經下載了MFTGrayscale和MediaExtension示例,其中展示瞭如何將這些效果應用於MediaCapture元素,但我在理解實際的C++ MFT代碼時遇到了問題。有人可以指導我做一個體面的演練/解釋我如何從頭開始構建自己的MFT效果?我不太瞭解C/C++,只是足夠了解一些示例代碼。我在MFT的概念和體系結構方面確實遇到了麻煩,因此我非常困惑於源代碼。

非常感謝您的幫助。

編輯:

我會考慮的另一種選擇是使用SharpDX。但是,我遇到的問題是要獲取要在xaml圖像元素上顯示的MediaCapture對象流。任何幫助,將不勝感激。謝謝。

回答

0

這是完全可行的......我剛剛改寫了MF的一個從樣品轉換使用諾基亞成像SDK和實時過濾器應用到網絡攝像頭視頻。你可以在下面的鏈接中看到我是如何做到的(加上下載一些源代碼)。這不完全是你需要做的,但是在維基頁面中,我解釋了你需要從MS提供的樣板樣本中進行更改。

http://developer.nokia.com/community/wiki/Template_universal_app_for_video_recording_with_MediaCapture_using_Imaging_SDK_Filters

1

你絕對應該看看下面的混帳回購協議:https://github.com/mmaitre314/VideoEffect

它展示瞭如何從的Lumia成像SDK,Win2D和DirectX HLSL像素着色器應用圖像效果的視頻在通用存儲適用於Windows Phone 8.1和Windows 8.1的應用程序。

可以通過MediaTranscoder,MediaComposition,MediaCapture或MediaElement應用效果。二進制文件可以通過NuGet獲得。