在Windows桌面上使用MediaCapture读取网络摄像头

时间:2015-08-24 01:09:26

标签: c# c++ windows-8.1 ms-media-foundation webcam-capture

我需要在Windows 8.1手机,平板电脑和台式机上处理来自网络摄像头的帧。 我已经实现了使用自定义媒体基础转换来访问帧的手机和平板电脑(=商店应用)。现在我正在开发桌面版。

MSDN表示商店应用和桌面应用都支持MediaCapture类。第三方MediaCaptureWPF可以替代丢失的CaptureElement。

但是MediaCapture.AddEffectAsync文档说“ effectActivationID:实现效果的可激活运行时类的类标识符。” 我can’t use a custom WinRT component in a desktop app

还有另一个选项可以添加一个效果MediaCapture.AddVideoEffectAsync,它接受IVideoEffectDefinition参数而不是类ID。但该界面为only supported on the phones

所以,我的问题是。 我可以在Windows 8桌面平台上使用MediaCapture类+自定义MF转换吗?怎么样?

或者我是否需要开发MF源阅读器才能支持桌面平台?有更好的方法吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

在桌面上运行时,看起来MediaCapture与自定义MFT不兼容。

我最终根据代码from this article实现了媒体接收器。

不幸的是,媒体基础框架的the relevant parts被标记为“[仅限桌面应用程序]”。它看起来我将不得不支持2个不同版本的图像采集卡,一个用于桌面,另一个用于商店+手机。