IMediaPosition 接口 (control.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media 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) |