IAMTimelineObj::FixTimes 方法

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

注意

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

 

方法 FixTimes 将指定的开始和停止时间舍入到最近的帧边界,由父组的帧速率设置定义。

语法

HRESULT FixTimes(
   REFERENCE_TIME *pStart,
   REFERENCE_TIME *pStop
);

参数

pStart

指向包含开始时间的变量(以 100 纳秒为单位)的指针。 如果调用成功,则此变量设置为舍入时间。

pStop

指向包含停止时间的变量(以 100 纳秒为单位)的指针。 如果调用成功,则此变量设置为舍入时间。

返回值

如果成功,则返回S_OK;如果对象不是组的一部分,则返回E_NOTINTREE。

备注

在呈现期间,DES 将对象的开始和停止时间舍入到最近的帧边界。 但是,DES 不会覆盖对象的时间。 如果更改组帧速率,则始终从原始时间计算舍入时间。 有关详细信息,请参阅 DirectShow 编辑服务中的时间

使用此方法可确定呈现项目中的准确开始和停止时间。 例如,应查找舍入时间,而不是对象的原始开始和停止时间。 调用 IAMTimelineObj::GetStartStop 以获取原始时间,并将这些值传递给 FixTimes

注意

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

另请参阅

IAMTimelineObj 接口

错误和成功代码