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)

另请参阅

查找筛选器图