IMediaSeeking::GetCurrentPosition 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 GetCurrentPosition
检索相对于流总持续时间的当前位置。
语法
HRESULT GetCurrentPosition(
[out] LONGLONG *pCurrent
);
参数
[out] pCurrent
指向接收当前位置的变量的指针,单位为当前时间格式。
返回值
返回 HRESULT 值。 可能的值包括以下值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
不支持方法。 |
|
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 |