2012-07-05 63 views
2

我正在开发Windows 8 WPF桌面应用程序。我需要预览摄像头到我的应用程序。我开始知道MediaCapture类允许这样做(http://msdn.microsoft.com/en-US/library/windows/desktop/windows.media.capture.mediacapture),但我无法将MediaCapture类用于WPF应用程序的任何想法,任何帮助如何做到这一点?谢谢。如何将Windows 8运行时间类MediaCapture用于WPF应用程序以显示网络摄像头预览?

更新:我使用下面的代码和它崩溃:

async private void StartWebCamPrev() 
    { 
     Windows.Media.Capture.MediaCapture mediaCapture = new Windows.Media.Capture.MediaCapture(); 
     await mediaCapture.InitializeAsync(); 
     await mediaCapture.StartPreviewAsync(); 
    } 
+0

请问您可以编辑您的原始问题,并添加任何相关的代码,您看到的错误/例外等。谢谢! – reuben 2012-07-05 09:49:25

+0

何时调用“StartWebCamPrev”?此外,除非'StartWebCamPrev'是一个事件处理程序,否则将'async void'更改为'async Task'。 – 2012-07-05 13:19:17

+0

在任何时候你可以打电话,但在我的应用程序,它被称为按钮点击。 – Shailesh 2012-07-05 16:07:41

回答

-1

在Windows *命名空间属于Windows运行时(WinRT的)。大多数WinRT UI API不适用于桌面/ WPF/.NET应用程序,因此您的方法无法使用。您几乎可以使用任何其他技术来显示网络摄像头预览,因为WPF应用程序可以与许多其他技术集成 - DirectShow最引人注目。我会从WPF MediaKit开始。

+0

并不完全:几乎有50%的winrt API可用于桌面应用程序。不幸的是,几乎没有任何显示UI的API可用于桌面aps :(。 – 2012-07-05 15:17:05

+0

是否有列表? – 2012-07-05 15:17:43

+0

也许 - 每个winrt API都被标记,并且API的文档显示它是否可以在桌面上运行。 Windows.Networking.Sockets.StreamSocket类说:“适用于:Metro风格的应用程序|桌面应用程序” – 2012-07-05 15:31:56

相关问题