IMediaDet::GetSampleGrabber 方法

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

注意

[已弃用。 此 API 可能会从 Windows 的未来版本中删除。]

 

方法 GetSampleGrabber 检索指向 ISampleGrabber 接口的指针,使应用程序能够从媒体流中检索单个样本。

语法

HRESULT GetSampleGrabber(
  [out] ISampleGrabber **ppVal
);

参数

ppVal [out]

接收指向 ISampleGrabber 接口的指针。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

备注

调用此方法之前,请调用 IMediaDet::EnterBitmapGrabMode 使用 ISampleGrabber 接口,可以从流中检索单个媒体样本。 如果只需要视频帧中的位图,请改为调用 IMediaDet::GetBitmapBits 方法。 ISampleGrabber 接口更灵活,但应用程序需要更多工作。

如果此方法成功,则它返回的 ISampleGrabber 接口具有未完成的引用计数。 使用完接口后,请务必释放它。

注意

头文件 Qedit.h 与版本 7 之后的 Direct3D 标头不兼容。

 

注意

若要获取 Qedit.h,请下载适用于 Windows Vista 和 .NET Framework 3.0 的Microsoft Windows SDK更新。 Qedit.h 在 Windows 7 和 .NET Framework 3.5 Service Pack 1 的Microsoft Windows SDK中不可用。

 

要求

要求
标头
Qedit.h

Strmiids.lib

另请参阅

IMediaDet 接口

错误和成功代码