IMediaSeeking::GetCurrentPosition 方法 (strmif.h)

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

方法 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 方法。

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

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

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

要求

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

另请参阅

错误和成功代码

IMediaSeeking 接口