IAMTimelineGroup::SetMediaType 方法

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

注意

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

 

方法 SetMediaType 设置组的未压缩媒体类型。

语法

HRESULT SetMediaType(
  [in] AM_MEDIA_TYPE *pmt
);

参数

pmt [in]

指向描述格式 的AM_MEDIA_TYPE 结构的指针。

返回值

返回以下 HRESULT 值之一:

返回代码 说明
S_OK
成功。
E_POINTER
NULL 指针参数。
VFW_E_INVALIDMEDIATYPE
指定的媒体类型无效。

 

备注

支持以下媒体类型:

  • 未压缩的 RGB 视频
  • 每像素 16 位,555 格式 (MEDIASUBTYPE_RGB555)
  • 每像素 24 位 (MEDIASUBTYPE_RGB24)
  • 每像素 32 位,使用 alpha (MEDIASUBTYPE_ARGB32,而不是MEDIASUBTYPE_RGB32)
  • 16 位立体声 PCM 音频 (MEDIASUBTYPE_PCM)

视频类型必须为格式类型使用 FORMAT_VideoInfo,对格式块使用 VIDEOINFOHEADER 不支持 VIDEOINFOHEADER2 格式。 此外,不支持自上而下的视频格式 (biHeight< 0) 。

若要指定组的压缩格式,请调用 IAMTimelineGroup::SetSmartRecompressFormat 方法。

注意

头文件 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

另请参阅

IAMTimelineGroup 接口

错误和成功代码