Graph-Building 组件
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
DirectShow 提供了多个可用于生成筛选器图的组件。 其中包括:
- Filter Graph Manager。 此对象控制筛选器图。 它支持 IGraphBuilder、 IMediaControl 和 IMediaEventEx 接口等。 所有 DirectShow 应用程序在某个时候都使用此对象,但在某些情况下,另一个对象会为应用程序创建 Filter Graph 管理器。
- 捕获图形生成器。 此对象提供用于生成筛选器图的其他方法。 它最初设计用于生成执行视频捕获 (因此名称) 的图形,但对于许多其他类型的自定义筛选器图很有用。 它支持 ICaptureGraphBuilder2 接口。
- 筛选器映射器和系统设备枚举器。 这些对象查找在用户的系统上注册或表示硬件设备的筛选器。
- DVD Graph 生成器。 此对象生成用于 DVD 播放和导航的筛选器图。 它支持 IDvdGraphBuilder 接口。
智能连接
术语“智能连接”涵盖筛选器图管理器用于生成全部或部分筛选图的一组算法。 每当 Filter Graph 管理器需要其他筛选器才能完成图形时,它大致执行以下操作:
- 如果图中当前有一个筛选器,且至少有一个未连接的输入引脚,则 Filter Graph 管理器会尝试使用该筛选器。
- 否则,Filter Graph 管理器在注册表中查找可以接受连接的正确媒体类型的筛选器。 每个筛选器都有一个名为“Merit”的注册表值,该值大致指示筛选器在完成图形时有多大用处。 Filter Graph 管理器按优点值的顺序尝试筛选。 对于音频、视频或 MIDI) 等每种流类型 (,默认呈现器具有较高的优点。 解码器也有很高的优点。 特殊用途筛选器的优点较低。
如果 Filter Graph 管理器卡住,它将退出并尝试不同的筛选器组合。 可以在 主题智能连接中找到确切的详细信息。
相关主题