IMFCaptureSink::AddStream 方法 (mfcaptureengine.h)

将流从捕获源连接到此捕获接收器。

语法

HRESULT AddStream(
  [in]  DWORD         dwSourceStreamIndex,
  [in]  IMFMediaType  *pMediaType,
  [in]  IMFAttributes *pAttributes,
  [out] DWORD         *pdwSinkStreamIndex
);

参数

[in] dwSourceStreamIndex

要连接的源流。 该值可以是以下任一值。

含义
0–0xFFFFFFFB
流的从零开始的索引。 若要获取流数,请调用 IMFCaptureSource::GetDeviceStreamCount
MF_CAPTURE_ENGINE_FIRST_SOURCE_PHOTO_STREAM
0xFFFFFFFB
第一个图像流。
MF_CAPTURE_ENGINE_FIRST_SOURCE_VIDEO_STREAM
0xFFFFFFFC
第一个视频流。
MF_CAPTURE_ENGINE_FIRST_SOURCE_AUDIO_STREAM
0xFFFFFFFD
第一个音频流。

[in] pMediaType

一个 IMFMediaType 指针,用于指定输出流的所需格式。 格式的详细信息将取决于捕获接收器。

  • 照片接收器:与 Windows 图像处理组件 (WIC) 兼容的静态图像格式。
  • 预览接收器:未压缩的音频或视频格式。
  • 记录接收器:将写入输出文件的音频或视频格式。

[in] pAttributes

指向 IMFAttributes 接口的 指针。 对于压缩流,可以使用此参数来配置编码器。 此参数也可以为 NULL

对于预览接收器,请将此参数设置为 NULL

[out] pdwSinkStreamIndex

接收捕获接收器上新流的索引。 请注意,此索引不一定与 dwSourceStreamIndex 的值匹配。

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK
成功。
MF_E_INVALIDMEDIATYPE
pMediaType 中指定的格式对此捕获接收器无效。
MF_E_INVALIDSTREAMNUMBER
dwSourceStreamIndex 参数无效,或者指定的源流已连接到此接收器。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 mfcaptureengine.h

另请参阅

IMFCaptureSink