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