IMediaPosition 接口 (control.h)

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

IMediaPosition 接口包含用于在流中查找位置的方法。

注意 应用程序应使用 IMediaSeeking 而不是 IMediaPosition
 

此接口由筛选器关系图管理器以及单个筛选器公开。 应用程序应从筛选器关系图管理器获取 IMediaPosition 接口指针,而不是从筛选器获取。 筛选器图形管理器将方法调用分发到所有呈现器筛选器。 呈现器筛选器将调用上游传播到源筛选器。 此事件序列确保所有流保持同步。

如果其中一个分布式调用返回错误,筛选器关系图管理器将返回它收到的第一个错误值。 在这种情况下,某些分布式调用可能已成功。 但是,除非所有分布式调用都返回 E_NOTIMPL ,否则筛选器图不会返回 E_NOTIMPL。 如果图中至少有一个筛选器实现了 该方法,则筛选器关系图管理器不会返回 E_NOTIMPL

继承

IMediaPosition 接口继承自 IDispatch 接口。 IMediaPosition 还具有以下类型的成员:

方法

IMediaPosition 接口具有这些方法。

 
IMediaPosition::CanSeekBackward

CanSeekBackward 方法确定筛选器图是否可以在流中向后查找。
IMediaPosition::CanSeekForward

CanSeekForward 方法确定筛选器图是否可以在流中向前查找。
IMediaPosition::get_CurrentPosition

get_CurrentPosition 方法检索相对于流总持续时间的当前位置。
IMediaPosition::get_Duration

get_Duration 方法检索流的持续时间。
IMediaPosition::get_PrerollTime

get_PrerollTime 方法检索将在开始位置之前排队的数据量。
IMediaPosition::get_Rate

get_Rate 方法检索播放速率。
IMediaPosition::get_StopTime

get_StopTime 方法检索播放停止的时间(相对于流的持续时间)。
IMediaPosition::p ut_CurrentPosition

put_CurrentPosition 方法设置相对于流总持续时间的当前位置。
IMediaPosition::p ut_PrerollTime

put_PrerollTime 方法设置在开始位置之前排队的数据量。
IMediaPosition::p ut_Rate

put_Rate 方法设置播放速率。
IMediaPosition::p ut_StopTime

put_StopTime 方法设置播放停止的时间(相对于流的持续时间)。

要求

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

另请参阅

IDispatch