IAMTimelineSrc::SetMediaTimes 方法

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

备注

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

 

方法 SetMediaTimes 设置媒体停止和开始时间。

语法

HRESULT SetMediaTimes(
   REFERENCE_TIME Start,
   REFERENCE_TIME Stop
);

参数

启动

介质开始时间,以 100 纳秒为单位。

停止

介质停止时间,以 100 纳秒为单位。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

备注

媒体时间是相对于原始媒体文件的停止和开始时间。 将视频或音频源添加到时间线时,请始终设置媒体时间。 否则,可能会出现呈现问题。 停止时间必须大于开始时间。

若要使用视频源中的静止帧,请将停止时间设置为大于开始时间的小数部分,例如 100 纳秒。 将它们设置为相同的值会导致呈现错误。

如果时间线持续时间与媒体持续时间不匹配,则源会相应地拉伸或收缩。 这会导致剪辑的播放速度比创作速率慢或快。 (音调将在音频源中发生。) 有关详细信息,请参阅 DirectShow 编辑服务中的时间

可以通过调用 SetMediaLength 方法指定源文件的持续时间。 如果设置的媒体停止时间超过持续时间,DES 将截断停止时间。

备注

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

另请参阅

IAMTimelineSrc 接口

错误和成功代码