IVideoFrameStep::Step 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 Step
使筛选器图向前单步执行指定的帧数。
语法
HRESULT Step(
DWORD dwFrames,
IUnknown *pStepObject
);
参数
dwFrames
指定要跳过的帧数。 如果 dwFrames 为 1,则图形向前推进一个帧。 如果 dwFrames 是一个大于 1 的数字 n ,则图将跳过 n - 1 个帧并显示 第 n个帧。
pStepObject
指向筛选器上将控制单步执行操作的接口的指针,或 为 NULL。 指定 NULL 以使用图形中的呈现器筛选器执行帧单步执行。 如果为非 NULL,则对象必须实现 IKsPropertySet 接口并支持 AM_KSPROPSETID_FrameStep 属性。 (有关详细信息,请参阅 帧单步执行属性 Set.) 如果图形包含实现帧步进的自定义筛选器, pStepObject 可以指定指向该筛选器的指针。
返回值
返回 HRESULT。 可能的值包括以下值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
不支持帧单步执行。 |
|
pStepObject 参数无效。 |
注解
步骤操作完成后,此方法会向筛选器图管理器发送 EC_STEP_COMPLETE 事件通知,该管理器会将通知传递给应用程序的事件循环,并将筛选器图设置为暂停状态。
帧实时步进,这意味着如果电影以每秒 30 帧的速度播放,则调用将 dwFrame 设置为 60 的 IVideoFrameStep::Step 需要 2 秒才能执行。 此接口中的所有方法是异步的,因此控制权会立即返回给应用程序。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |