Windows音频驱动程序是否可以位于默认的Windows驱动程序上并对其输出进行后期处理?

时间:2010-12-06 08:36:29

标签: windows-7 filter driver miniport

是否可以编写一个驱动程序坐在另一个驱动程序之上,获取较低驱动程序的输出并对其进行后期处理。

我想编写一个驱动程序以确保音量级别始终保持不变。 在我的脑海中,这个驱动程序将站在音频卡驱动程序的顶部,并在处理回输出操作系统发送给扬声器之前对输出进行后处理。

我读到了MS微型端口,这似乎提供了一些基本的保证曝光。

恒定音量级别的实现并不是我在这个问题上真正关心的。我想知道是否有可能写一个'过滤器'驱动程序缺少一个更好的单词,所以我可以做一些声音后处理。

编辑:好吧,我首先没有谷歌搜索,结果它实际上被称为过滤器驱动程序,让我看起来像一个白痴。我会在这方面成为一个完全的菜鸟,所以任何好的方向或文字都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

对于Windows Vista及更高版本,编写这样的音频驱动程序非常具有挑战性。这是因为Windows Vista音频设备主要使用I / O机制,音频驱动程序将DMA缓冲区直接暴露给音频子系统或应用程序。因此,音频引擎直接写入音频适配器的DMA缓冲区,滤波器驱动程序没有机会检查发送到音频解决方案的样本。

对于Vista及更高版本,您可以使用sAPO获得相同的结果,sAPO是伴随驱动程序包的处理元素,允许sAPO检查和修改音频样本。