在源上设置属性

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

[此 API 不受支持,将来可能会更改或不可用。]

创建新的源对象时,需要设置一些属性,也可以选择性地设置其他属性。 必须设置以下属性。

源对象从父组继承其媒体类型,因此无需指定媒体类型。

可选属性包括:

  • 拉伸模式。 拉伸模式指定 Microsoft® DirectShow® 编辑服务 (DES) 如何呈现其大小与输出维度不匹配的源。 默认情况下,DES 在不保留纵横比的情况下拉伸图像。 或者,DES 可以裁剪图像或创建信箱。 调用 IAMTimelineSrc::SetStretchMode 方法以指定拉伸模式。
  • 源文件的持续时间。 如果在设置媒体时间之前设置此属性,DES 将验证媒体停止时间,并在超过文件持续时间时截断停止时间。 这有助于避免以后的呈现错误。 可以使用媒体检测器获取文件的持续时间,如 使用媒体检测器中所述。 调用 IAMTimelineSrc::SetMediaLength 方法以指定文件持续时间。
  • 流编号。 默认情况下,源对象使用文件中与父组的媒体类型匹配的第一个流。 如果文件包含两个或多个相同媒体类型的流,请通过调用 IAMTimelineSrc::SetStreamNumber 来选择要使用的流。 可以使用媒体检测器来查找流数。

使用源