IMFSeekInfo::GetNearestKeyFrames 方法 (mfidl.h)

对于特定的查找位置,获取两个最近的关键帧。

语法

HRESULT GetNearestKeyFrames(
  [in]  const GUID        *pguidTimeFormat,
  [in]  const PROPVARIANT *pvarStartPosition,
  [out] PROPVARIANT       *pvarPreviousKeyFrame,
  [out] PROPVARIANT       *pvarNextKeyFrame
);

parameters

[in] pguidTimeFormat

指向指定时间格式的 GUID 的指针。 时间格式定义此方法的其他参数的单位。 如果值为 GUID_NULL,则时间格式为 100 纳秒单位。 某些媒体源可能支持额外的时间格式 GUID。

[in] pvarStartPosition

查找位置。 此参数的单位由 pguidTimeFormat 指定。

[out] pvarPreviousKeyFrame

接收早于 pvarStartPosition 的最近关键帧的位置。 此参数的单位由 pguidTimeFormat 指定。

[out] pvarNextKeyFrame

接收晚于 pvarStartPosition 的最近关键帧的位置。 此参数的单位由 pguidTimeFormat 指定。

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK
方法成功。
MF_E_UNSUPPORTED_TIME_FORMAT
不支持 pguidTimeFormat 中指定的时间格式。

注解

如果应用程序查找非关键帧,则解码器必须从上一个关键帧开始解码。 这会增加延迟,因为在到达请求的帧之前,可能会解码多个帧。 为了减少延迟,应用程序可以调用此方法来查找最接近所需时间的两个关键帧,然后查找其中一个关键帧。

要求

   
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 mfidl.h

另请参阅

IMFSeekInfo