【问题标题】:Media Foundation can not detect capture devicesMedia Foundation 无法检测到捕获设备
【发布时间】:2014-09-19 12:21:30
【问题描述】:
HRESULT MFEnumDeviceSources(In IMFAttributes *pAttributes, Out IMFActivate ***pppSourceActivate,
输出 UINT32 *pcSourceActivate);
在 Windows 7 和 Visual Studio 2012 平台,使用此函数但 pcSourceActivate 返回 0 和
pppSourceActivate 为空。但实际上机器有 9 个视频采集卡。有人帮我解决这个问题吗?
【问题讨论】:
标签:
visual-studio-2012
video-capture
ms-media-foundation
【解决方案1】:
Media Foundation 支持 Windows 中已知的视频捕获设备的子范围。也许您拥有的那些在 Media Foundation 中没有支持。
From MSDN:
从 Windows 7 开始,Media Foundation 自动支持音频
和视频捕获设备。对于视频,设备必须提供内核
视频捕获类别中的流 (KS) 微型驱动程序。媒体
Foundation 使用 PnP 路径枚举设备。对于音频、媒体
Foundation 使用 Windows 多媒体设备 (MMDevice) API
枚举音频端点设备。如果设备符合这些标准,
无需实现自定义媒体源。
判断 MS 是否支持特定设备的最简单方法是使用 SDK 中的TopoEdit 工具来查看它是否列出了设备。