IMFSourceReader::SetCurrentMediaType 方法 (mfreadwrite.h)

设置流的媒体类型。

此媒体类型定义 源读取器 作为输出生成的格式。 它可以与媒体源提供的本机格式不同。 有关更多信息,请参见备注。

语法

HRESULT SetCurrentMediaType(
  [in]      DWORD        dwStreamIndex,
  [in, out] DWORD        *pdwReserved,
  [in]      IMFMediaType *pMediaType
);

参数

[in] dwStreamIndex

要配置的流。 该值可以是以下任一值。

含义
0–0xFFFFFFFB
流的从零开始的索引。
MF_SOURCE_READER_FIRST_VIDEO_STREAM
0xFFFFFFFC
第一个视频流。
MF_SOURCE_READER_FIRST_AUDIO_STREAM
0xFFFFFFFD
第一个音频流。

[in, out] pdwReserved

保留。 设置为 NULL。

[in] pMediaType

指向媒体类型的 IMFMediaType 接口的指针。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
MF_E_INVALIDMEDIATYPE
至少为本机流类型找到了一个解码器,但 pMediaType 指定的类型被拒绝。
MF_E_INVALIDREQUEST
一个或多个示例请求仍处于挂起状态。
MF_E_INVALIDSTREAMNUMBER
dwStreamIndex 参数无效。
MF_E_TOPO_CODEC_NOT_FOUND
找不到本机流类型的解码器。

注解

对于每个流,可以将媒体类型设置为以下任一类型:

  • 媒体源提供的本机类型之一。 若要枚举本机类型,请调用 IMFSourceReader::GetNativeMediaType
  • 如果本机媒体类型已压缩,则可以指定相应的未压缩格式。 源读取器将搜索一个解码器,该解码器可以从本机格式解码为指定的未压缩格式。
音频重采样支持已添加到源阅读器,Windows 8。 在Windows 8之前的 Windows 版本中,源读取器不支持音频重新采样。 如果需要在早于 Windows 8 的 Windows 版本中重新采样音频,可以使用音频重新采样器 DSP

如果在创建源读取器时将 MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING 属性设置为 TRUE ,则源阅读器会将 YUV 视频转换为 RGB-32。 此转换未针对实时视频播放进行优化。

如果安装了适用于 Windows Vista 的平台更新补充,则此接口在 Windows Vista 上可用。

要求

要求
最低受支持的客户端 适用于 Windows Vista 的 Windows 7、Windows Vista 和平台更新补充 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 mfreadwrite.h

另请参阅

IMFSourceReader

源读取器