iMediaSeeking 接口 (strmif.h)
该 IMediaSeeking
接口包含用于查找流中的位置以及设置播放速率的方法。 Filter Graph 管理器公开此接口,因此,单个筛选器或引脚也是如此。 应用程序应查询接口的 Filter Graph 管理器。
Filter Graph 管理器将任何 IMediaSeeking
调用分发到图形中的每个呈现器筛选器。 呈现器筛选器将调用上游发送到源筛选器。 此事件序列可确保所有流保持同步。 如果任何分布式调用返回错误,则 Filter Graph 管理器将返回它收到的第一个错误值,即使某些分布式调用成功也是如此。 异常是E_NOTIMPL:筛选器图形管理器不会返回E_NOTIMPL,除非它由所有分布式调用返回。
当图形处于运行、暂停或停止) (的任何状态时,应用程序可以查找图形。 如果图形正在运行,筛选器图形管理器会在发出 seek 命令之前暂停图形。 然后,它再次运行图形。 所有查找操作都与当前播放速率无关。 查找操作会导致从图形刷新任何挂起的媒体数据。
对于指定时间的所有 IMediaSeeking
参数,时间单位取决于当前时间格式。 若要设置时间格式,请调用 IMediaSeeking::SetTimeFormat 方法。 时间格式是 uuids.h 中定义的 (GUID) 全局唯一标识符。 有关详细信息,请参阅 时间格式 GUID。
继承
IMediaSeeking 接口继承自 IUnknown 接口。 IMediaSeeking 还包含以下类型的成员:
方法
IMediaSeeking 接口具有这些方法。
IMediaSeeking::CheckCapabilities CheckCapabilities 方法查询流是否具有指定的查找功能。 |
IMediaSeeking::ConvertTimeFormat ConvertTimeFormat 方法从一个时间格式转换为另一种格式。 |
IMediaSeeking::GetAvailable GetAvailable 方法检索查找效率的时间范围。 |
IMediaSeeking::GetCapabilities GetCapabilities 方法检索流的所有查找功能。 |
IMediaSeeking::GetCurrentPosition GetCurrentPosition 方法检索当前位置,相对于流的总持续时间。 |
IMediaSeeking::GetDuration GetDuration 方法获取流的持续时间。 |
IMediaSeeking::GetPositions GetPositions 方法检索相对于流的总持续时间的当前位置和停止位置。 |
IMediaSeeking::GetPreroll GetPreroll 方法检索在开始位置之前排队的数据量。 |
IMediaSeeking::GetRate GetRate 方法检索播放速率。 |
IMediaSeeking::GetStopPosition GetStopPosition 方法检索播放相对于流持续时间停止的时间。 |
IMediaSeeking::GetTimeFormat GetTimeFormat 方法检索当前用于查找操作的时间格式。 |
IMediaSeeking::IsFormatSupported IsFormatSupported 方法确定是否支持查找操作的指定时间格式。 |
IMediaSeeking::IsUsingTimeFormat IsUsingTimeFormat 方法确定查找操作当前是否使用指定的时间格式。 |
IMediaSeeking::QueryPreferredFormat QueryPreferredFormat 方法检索查找的首选时间格式。 |
IMediaSeeking::SetPositions SetPositions 方法设置当前位置和停止位置。 |
IMediaSeeking::SetRate SetRate 方法设置播放速率。 |
IMediaSeeking::SetTimeFormat SetTimeFormat 方法设置后续搜寻操作的时间格式。 |
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |