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 |