0

我正在尝试执行由 graphEditPlus 生成的代码(使用 VS2010),但遇到以下行的问题:

CComQIPtr<ISampleGrabber, &IID_ISampleGrabber> pSampleGrabber_isg(pSampleGrabber);

其中的错误是:错误 C2065:“ISampleGrabber”:未声明的标识符错误 C2065:“IID_ISampleGrabber”:未声明的标识符错误 C2514:“ATL::CComQIPtr”:类没有构造函数

我尝试下载不同版本的 Windows SDK(V7.1、V6.0A、V5)并设置包含/库路径,但仍然遇到同样的问题!

SampleGrabber 是否仍受支持?主要是,SampleGrabber 在我的代码中用于从视频捕获源中抓取帧......

感谢你的协助...

4

1 回答 1

1

Microsoft 弃用了 Sample Grabber 和整个 DES API,但是如果您导入类型库,或者只是将声明复制到您的项目中 - 该组件仍然可用,除了一些非常最新的操作系统版本(Windows Server 2008?),它完全消失了您可能需要其他解决方案,例如从早期的 SDK 示例构建您自己的解决方案。

请参阅不推荐使用 ISampleGrabber:我在哪里可以找到替代品?了解更多信息。

另请参阅带有代码片段的RenderWmvVideo.cpp以复制/粘贴并将声明重新添加到您的项目(#pragma文件顶部的部分):

#pragma region Windows SDK Tribute, qedit.h

struct __declspec(uuid("0579154a-2b53-4994-b0d0-e773148eff85"))
ISampleGrabberCB : IUnknown
{

...

#pragma endregion
于 2014-04-25T05:51:09.817 回答