音频过滤器图表

KS 筛选器图是已连接在一起以处理一个或多个数据流的 KS 筛选器的集合。 音频筛选器图是一个 KS 筛选器图,它由处理音频数据流的筛选器组成。 例如,下图是执行音频渲染和采集的音频滤波器图的简化图。

用于呈现和捕获的简单音频滤波器的示意图。

在该图中,筛选器图从两个波筛选器顶部的引脚扩展到两个拓扑筛选器底部的引脚。 用户模式软件模块和外部音频设备(即扬声器和麦克风)位于图外。

图下半部分的四个筛选器表示音频适配器上的硬件设备,该适配器可以呈现和捕获波形流。 图中显示的每个筛选器都是通过将端口驱动程序绑定到微型端口驱动程序来实现的。 适配器驱动程序通过将 WaveRT、WavePci 或 WaveCyclic 端口驱动程序绑定到相应的 WaveXxx 微型端口驱动程序来形成波形筛选器。 适配器驱动程序通过将拓扑端口驱动程序绑定到拓扑微型端口驱动程序来形成拓扑筛选器。

在图的左侧,DirectSound 或 waveOut 应用程序(顶部)的音频流通过扬声器(底部)播放。 在右侧,DirectSoundCapture 或 waveIn 应用程序(顶部)记录从麦克风(底部)输入的流。 在这两侧,在 Windows Vista 中对系统执行混合的音频引擎实例在波形筛选器和应用程序之间交错。 (在 Windows Server 2003、Windows XP、Windows 2000 和 Windows Me/98 中, KMixer 系统驱动程序 是系统混音器。

音频引擎是一种通用的软件筛选器,可在用户模式下运行,并且可以在其源和接收器引脚上的各种音频格式和采样率之间轻松转换。 音频引擎通常可以适应配置硬件的流格式与应用程序所需的流格式之间的差异。

在前图底部,驱动扬声器的源引脚和接收麦克风信号的接收器引脚标记为桥接引脚。 桥钉将筛选器图与外部世界之间的边界桥接。

在上图中,每个波形筛选器与其相应的拓扑筛选器之间显示的数据路径通常表示物理连接:音频适配器上的固定硬件连接,不能由软件配置。

因为网桥引脚或具有物理连接的引脚已被永久连接,因此该引脚默认存在,无法实例化或删除。 因此,没有桥引脚实例可以向其发送 IRP,不过你可以查询筛选器对象以获取其桥引脚的 KSPROPSETID_Pin 属性。 同一规则适用于具有物理连接的引脚。

通过网桥引脚或物理连接的信号可以是模拟信号或数字信号。

例如,在上图中,两个网桥引脚都处理模拟信号。 左侧的网桥引脚从 DAC(数字到模拟转换器)传输输出信号,该转换器驱动扬声器。 右侧的桥接针脚接收来自麦克风的信号,该信号进入 ADC(模拟到数字转换器)。 但是,桥接针也可能表示音频设备上的 S/PDIF 连接器。 在这种情况下,通过网桥引脚传递的信号是数字而不是模拟信号。