IVMRImageCompositor::CompositeImage 方法 (strmif.h)

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

方法 CompositeImage 组合每个输入流中可用的当前帧。

语法

HRESULT CompositeImage(
  [in] IUnknown             *pD3DDevice,
  [in] LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  [in] AM_MEDIA_TYPE        *pmtRenderTarget,
  [in] REFERENCE_TIME       rtStart,
  [in] REFERENCE_TIME       rtEnd,
  [in] DWORD                dwClrBkGnd,
  [in] VMRVIDEOSTREAMINFO   *pVideoStreamInfo,
  [in] UINT                 cStreams
);

参数

[in] pD3DDevice

指向 Direct3D 设备的 IUnknown 接口的指针。 合成器必须将此强制转换为 LPDIRECT3DDEVICE7 类型。

[in] pddsRenderTarget

指定应在其上执行所有绘图的 DirectDraw 图面。

[in] pmtRenderTarget

指定 DirectDraw 图面的介质类型。

[in] rtStart

指定开始时间。

[in] rtEnd

指定结束时间。

[in] dwClrBkGnd

指定背景色。

[in] pVideoStreamInfo

指向视频流信息对象的数组的指针。

[in] cStreams

指定要混合的流数,这等于 pVideoStreamInfo 数组的大小。

返回值

如果该方法成功,则它会返回 S_OK。 如果该方法失败,则会返回错误代码。

要求

要求
最低受支持的客户端 具有 SP1 的 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 strmif.h (包括 Dshow.h)
Library Strmiids.lib

另请参阅

错误和成功代码

IVMRImageCompositor 接口

使用视频混合呈现器