IMFClockStateSink::OnClockStart 方法 (mfidl.h)

在演示时钟开始时调用。

语法

HRESULT OnClockStart(
  [in] MFTIME   hnsSystemTime,
  [in] LONGLONG llClockStartOffset
);

parameters

[in] hnsSystemTime

时钟启动的系统时间,以 100 纳秒为单位。

[in] llClockStartOffset

时钟的新开始时间,以 100 纳秒为单位。 此参数还可以等于 PRESENTATION_CURRENT_POSITION,指示时钟已从其当前位置启动或重新启动。

返回值

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

注解

调用表示时钟的 IMFPresentationClock::Start 方法时,将调用此方法,但以下情况除外:如果时钟暂停且使用值PRESENTATION_CURRENT_POSITION调用 Start,则调用 IMFClockStateSink::OnClockRestart,而不是 OnClockStart

时钟通过调用时间源的 OnClockStart 方法通知表示时间源。 此调用在 Start 方法中同步发生。 如果时间源从 OnClockStart 返回错误,则表示时钟的 Start 方法将返回错误,并且状态更改不会发生。

对于任何不是表示时间源的对象,状态更改完成后,将异步调用 OnClockStart 方法。 在这种情况下,此方法的返回值将被忽略。

llClockStartOffset 中给定的值是时钟开始时的演示时间,因此它相对于演示文稿的开始时间。 媒体接收器不应呈现呈现时间早于 llClockStartOffSet 的任何数据。 如果样本跨越偏移量(即,如果偏移量介于样本的开始和停止时间之间),则接收器应剪裁样本,以便仅在 llClockStartOffset 之后呈现数据,或者直接删除样本。

要求

   
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 mfidl.h
Library Mfuuid.lib

另请参阅

IMFClockStateSink

MFTIME

演示文稿时钟