IReferenceClock 接口 (strmif.h)

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

接口 IReferenceClock 提供筛选器图的参考时间。

可以充当引用时钟的筛选器可以公开此接口。 系统 参考时钟也会公开它。 筛选器关系图管理器使用此接口来同步筛选器图。 应用程序可以使用此接口来检索当前引用时间,或请求通知已用时间。

有关详细信息,请参阅 DirectShow 中的时间和时钟

筛选器开发人员: 如果要编写生成可靠时钟时间的筛选器,请实现此接口。 例如,音频呈现器实现此接口,因为音频声板通常包含参考时钟。 使用 CBaseReferenceClock 类实现此接口。

若要增加筛选器关系图管理器在引用关闭时选择非呈现筛选器的几率,请执行以下步骤:

  1. 在筛选器中实现 IReferenceClock
  2. 在筛选器中实现 IAMFilterMiscFlags
  3. IAMFilterMiscFlags::GetMiscFlags 返回AM_FILTER_MISC_FLAGS_IS_SOURCE。
  4. 在所有输出引脚上实现 IAMPushSource
  5. IAMPushSource::GetPushSourceFlags 返回 (* pFlags) = 0。
  6. 可以从所有其他 IAMPushSource 方法返回E_NOTIMPL。

继承

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

方法

IReferenceClock 接口具有以下方法。

 
IReferenceClock::AdvisePeriodic

AdvisePeriodic 方法创建定期建议请求。
IReferenceClock::AdviseTime

AdviseTime 方法创建一次性建议请求。
IReferenceClock::GetTime

GetTime 方法检索当前引用时间。
IReferenceClock::Unadvise

Unadvise 方法删除挂起的建议请求。

要求

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