2

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

我想编写一个驱动程序来确保音量始终保持不变。在我的脑海中,这个驱动程序将位于声卡驱动程序之上,并在返回给操作系统发送到扬声器之前对输出进行后处理。

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

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

编辑:好的,我很抱歉没有先用谷歌搜索,结果它实际上被称为过滤器驱动程序,这让我看起来像个白痴。不过,我将是一个完全的菜鸟,所以任何好的方向或文字将不胜感激。

4

1 回答 1

2

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

对于 Vista 及更高版本,您可以使用 sAPO 来实现相同的结果,该 sAPO 是一个处理元素,附带驱动程序包,允许 sAPO 检查和修改音频样本。

于 2010-12-06T20:11:15.567 回答