ICaptureGraphBuilder::RenderStream 方法 (strmif.h)

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

注意ICaptureGraphBuilder 接口已弃用。 请改用 ICaptureGraphBuilder2
 
将源筛选器的引脚(可选指定类别)连接到呈现筛选器,并选择性地通过另一个筛选器。

语法

HRESULT RenderStream(
  [in] const GUID  *pCategory,
  [in] IUnknown    *pSource,
  [in] IBaseFilter *pfCompressor,
  [in] IBaseFilter *pfRenderer
);

参数

[in] pCategory

指向 GUID 的指针,指定要连接的源筛选器的输出引脚。 有关所有固定类别的列表,请参阅 固定属性集NULL 表示呈现唯一的输出引脚,而不考虑类别。

[in] pSource

指向表示源筛选器或输出引脚的 IBaseFilterIPin 接口的指针。 源筛选器通常是文件源筛选器,例如 AVI 文件源筛选器或捕获筛选器。

[in] pfCompressor

指向表示可选压缩筛选器的 IBaseFilter 接口的指针。

[in] pfRenderer

指向表示呈现 器 IBaseFilter 接口的指针。 可以使用 ICaptureGraphBuilder::SetOutputFileName 中的 ppf (多路复用器) 参数来提供此值。

返回值

如果捕获筛选器具有捕获引脚但没有预览引脚,并且你使用捕获引脚上的 &PIN_CATEGORY_PREVIEW 类别调用 RenderStream ,则返回VFW_S_NOPREVIEWPIN。 在这种情况下, RenderStream 将呈现 智能 Tee 筛选器的预览图钉。 有关详细信息,请参阅“备注”。

注解

如果为 pCategory 指定非 NULL引脚属性集 GUID,并为 pSource 指定捕获筛选器,此方法将实例化并连接其他必需的上游筛选器,例如电视调谐器和横杠。 然后,它呈现 pSource 的捕获引脚。

如果 pSource 是一个引脚,则为 pCategory 指定 NULL,此方法将呈现来自该引脚的流。

如果源筛选器只有一个输出引脚,请为 pCategory 指定 NULL

在调用此方法之前,必须以参数的形式提供 pSourcepfCompressorpfRenderer 筛选器。

如果要生成使用 WDM 捕获筛选器的捕获图,此方法将生成所有必要的上游筛选器以及下游筛选器。

某些与新的 WDM VPE (视频端口扩展) 视频捕获硬件配合使用的捕获筛选器具有视频端口引脚,而不是用于预览的预览引脚。 视频端口引脚不会直接连接到视频呈现器,而是连接到名为 “覆盖混合器”的特殊筛选器。 应用程序无需担心此问题。 只需 RenderStream 使用PIN_CATEGORY_PREVIEW调用,捕获图生成器将通过覆盖混音器正确呈现 VIDEO PORT 引脚(如果这是必要的)。

当使用 RenderStream PIN_CATEGORY_CAPTURE 或 PIN_CATEGORY_PREVIEW 类别 (呈现视频捕获筛选器的捕获或预览固定) 并且捕获筛选器具有捕获固定但没有预览固定时, 智能 Tee 筛选器将自动用于允许同时捕获和预览。 例如,使用 PIN_CATEGORY_CAPTURE 类别调用 RenderStream 实际上会将 Smart Tee 筛选器连接到筛选器的捕获引脚,然后呈现 Smart Tee 的捕获引脚。 如果随后使用捕获图钉上的PIN_CATEGORY_PREVIEW类别调用 RenderStream ,它将实际呈现 Smart Tee 的预览图钉。 如果使用 PIN_CATEGORY_PREVIEW调用 RenderStream 导致使用捕获引脚和 Smart Tee 筛选器, RenderStream 将返回VFW_S_NOPREVIEWPIN来指示这一点。 因此,如果 FindInterface 找不到预览接口,则可能需要使用PIN_CATEGORY_PREVIEW类别和PIN_CATEGORY_CAPTURE类别调用 FindInterface ,因为预览接口可以通过查找捕获筛选器的捕获引脚的下游找到。

要求

要求
目标平台 Windows
标头 strmif.h (包括 Dshow.h)

另请参阅

错误和成功代码

ICaptureGraphBuilder 接口