IMediaSeeking::GetCurrentPosition 方法 (strmif.h)

该方法 GetCurrentPosition 检索相对于流总持续时间的当前位置。

语法

HRESULT GetCurrentPosition(
  [out] LONGLONG *pCurrent
);

参数

[out] pCurrent

指向接收当前位置(以当前时间格式单位为单位)的变量的指针。

返回值

返回 HRESULT 值。 可能的值包括以下值。

返回代码 说明
S_OK
成功。
E_NOTIMPL
不支持方法。
E_POINTER
NULL 指针参数。

注解

此方法返回播放已达到的当前位置。 该值包括播放速率和开始时间的调整。 例如,如果开始时间为 5 秒,则播放速率为 2.0,并且运行图形 4 秒,则当前位置为 5 + (4 x 2.0) = 13.0 秒。

返回的值以当前时间格式的单位表示。 若要确定当前时间格式,请调用 GetTimeFormat 方法。

如果图形已暂停或停止,则当前位置是播放将恢复的点。

Filter Graph 管理器从当前流时间计算位置;它不会查询图形中的筛选器。 对于文件播放,这会产生准确的结果,因为播放将同步到流时间。 对于文件写入,结果不准确。 若要获取文件写入图中的当前位置,请查询多路复用器筛选器。 (位置与实时捕获无关,但)

返回的值以当前时间格式表示。 默认时间格式REFERENCE_TIME单位 ( 100 纳秒) 。 若要更改时间格式,请使用 IMediaSeeking::SetTimeFormat 方法。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 strmif.h (包括 Dshow.h)
Library Strmiids.lib

另请参阅

错误和成功代码

IMediaSeeking 接口