Media Foundation 无法检测到捕获设备
Posted
技术标签:
【中文标题】Media Foundation 无法检测到捕获设备【英文标题】:Media Foundation can not detect capture devices 【发布时间】: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 个视频采集卡。有人帮我解决这个问题吗?
【问题讨论】:
【参考方案1】:Media Foundation 支持 Windows 中已知的视频捕获设备的子范围。也许您拥有的那些在 Media Foundation 中没有支持。
From MSDN:
从 Windows 7 开始,Media Foundation 自动支持音频 和视频捕获设备。对于视频,设备必须提供内核 视频捕获类别中的流 (KS) 微型驱动程序。媒体 Foundation 使用 PnP 路径枚举设备。对于音频、媒体 Foundation 使用 Windows 多媒体设备 (MMDevice) API 枚举音频端点设备。如果设备符合这些标准, 无需实现自定义媒体源。
判断 MS 是否支持特定设备的最简单方法是使用 SDK 中的TopoEdit 工具来查看它是否列出了设备。
【讨论】:
以上是关于Media Foundation 无法检测到捕获设备的主要内容,如果未能解决你的问题,请参考以下文章
Media Foundation Capture - 如何检测真正的原生输入格式