IAMStreamControl 接口 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
接口 IAMStreamControl
控制筛选器上的单个流。 某些筛选器上的固定会公开此接口。 例如, AVI 复用器筛选器 在其输入引脚上支持此接口, 音频捕获筛选器 和 WDM 视频捕获筛选器 在其输出引脚上支持此接口。
此接口使应用程序能够在指定时间打开和关闭流。 例如,应用程序可能会关闭音频流,以便在视频预览期间将音频静音。 捕获应用程序可以使用此接口指定捕获的确切开始和停止时间,并控制捕获和预览流彼此独立。
若要使用此接口,请调用 IAMStreamControl::StartAt 方法以指定引脚何时开始传递数据,并调用 IAMStreamControl::StopAt 方法指定何时停止传递数据。 然后在 Filter Graph Manager 上调用 IMediaControl::Run 以运行筛选器图。 所有时间都与图形开始运行的时间相关。
使用此接口时,请注意以下限制:
- 筛选器图中必须有一个引用时钟。
- 具有硬件覆盖的捕获卡上的预览固定不支持此接口。
- 如果要将音频和视频捕获到交错的 AVI 文件,则 AVI 复用器筛选器需要两个数据流。 如果停止一个流,筛选器无法交错数据。 有关详细信息,请参阅 IConfigInterleaving 接口。
筛选器开发人员: CBaseStreamControl 基类实现此接口。
继承
IAMStreamControl 接口继承自 IUnknown 接口。 IAMStreamControl 还具有以下类型的成员:
方法
IAMStreamControl 接口具有这些方法。
IAMStreamControl::GetInfo GetInfo 方法检索有关当前流控制设置的信息,包括启动和停止时间。 |
IAMStreamControl::StartAt StartAt 方法通知引脚何时开始传送数据。 |
IAMStreamControl::StopAt StopAt 方法通知引脚何时停止传送数据。 |
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |