KsStudio - 筛选器以及筛选器和工厂

本主题介绍如何使用 KSStudio 实用工具显示筛选器和筛选器工厂。

Microsoft Windows 驱动程序模型 (WDM) 音频驱动程序将音频设备表示为 KS 筛选器,它们将设备上的硬件缓冲区表示为筛选器上的引脚。 有关详细信息,请参阅筛选器、引脚和节点属性

KS 筛选器工厂枚举选项

KSStudio 中的会话通常从枚举系统上安装的 KS 筛选器工厂开始。 默认情况下,用户在启动时会看到一个“枚举选项”对话框。 可以通过菜单栏 (View.Options...) 在启动后随时调用此对话框。

KSStudio 枚举筛选器的方法有两种:

  • 设置 API。 这是迄今为止筛选器工厂枚举的最常见和最有用的方法。 如果在系统上正确安装了筛选器工厂,则可以通过一个或多个筛选器类别(例如 KSCATEGORY_AUDIO、KSCATEGORY_RENDER 等)进行枚举。 可以通过点击“类...”按钮来选择要枚举的类别。 这会调用一个对话框,该对话框将显示 KSMedia.h 中当前声明的所有类别。

  • 按设备名称显式枚举。 如果设置 API 未枚举筛选器工厂,但驱动程序已安装(即在设备管理器中显示时没有错误),则可以通过名称显式实例化设备。 这可以通过在“其他筛选器”编辑控件中输入设备名称来完成。 这可能有助于解决枚举问题(例如 INF 错误)。

KSStudio 还提供一些“测试筛选器”,这些筛选器仅存在于 KSStudio 程序中。 这些测试筛选器可用于将数据直接流式传输到 KS 筛选器,这对于故障排除可能很有用。

KSStudio 枚举的已安装筛选器工厂显示在 KSStudio 实用工具中讨论的筛选器工厂视图中。

筛选器工厂

枚举的筛选器工厂将显示在筛选器工厂视图中。 筛选器工厂是 WDM 驱动程序的一个方面,会公开可能传递给 CreateFile 以实例化筛选器的设备名称(即内核对象)。 对于枚举的每个筛选器工厂,KSStudio 均显示使用 Windows 安装程序 API 检索到的属性的已缩减列表,而无需实际实例化筛选器。

当用户选择实例化筛选器时,Device Name 属性是 KSStudio 传递给 CreateFile 的字符串。

筛选器实例化

若要实例化筛选器,请在筛选器工厂视图中双击筛选器工厂(或右键单击工厂并选择“实例化”)。 如果实例化成功,KSStudio 会询问筛选器(通过一系列属性调用),并使用获取的值生成配置文件。 此配置文件用于在对象拓扑视图中生成筛选器实例的图形表示形式,该表示形式是从属性值推导出来的,并会在对象详细信息视图中生成文本表示形式,其中显示了获取的实际属性值。

若要关闭筛选器,请右键单击筛选器,然后从弹出菜单中选择“关闭”。

测试筛选器

KSStudio 附带多个内置测试筛选器或数据泵,这样命名是因为它们提交由 KS 筛选器图填充或使用的数据缓冲区。

  • 波次文件泵。 此筛选器会读取 .wav 文件,并将数据提交到能够使用 KSDATAFORMAT_TYPE_AUDIO 数据的引脚。

  • MIDI 文件泵。 此筛选器会读取 .mid 或 .rmi 文件,并将数据提交到能够使用 KSDATAFORMAT_TYPE_MUSIC 数据的引脚。

  • 波次捕获泵。 此筛选器会将空缓冲区提交到能够提供 KSDATAFORMAT_AUDIO 数据的引脚。 使用 VU 计量显示数据。

  • MIDI 捕获泵。 此筛选器会将空缓冲区提交到能够提供 KSDATAFORMAT_MUSIC 数据的引脚。 数据以原始和已转换的 MIDI 消息的形式显示在日志记录窗口中。

  • 全双工流泵。 此筛选器会将空缓冲区提交到 KSDATAFLOW_IN 引脚,然后将检索到的数据重新提交到 KSDATAFLOW_OUT 引脚。 例如,可以使用此泵从麦克风引脚捕获 PCM 数据,并将其重新提交到呈现引脚。

另请参阅

KSStudio 实用工具

KSStudio - 引脚和节点

KSStudio - KSProperties 和事件

KSStudio - KS 监视器

KSStudio - 使用示例