【问题标题】:Can a Windows audio driver sit atop the default windows driver and post process its output?Windows 音频驱动程序能否位于默认 Windows 驱动程序之上并后处理其输出?
【发布时间】:2011-05-20 20:32:01
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: windows-7 filter driver miniport


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-02-27
      • 2023-03-20
      • 1970-01-01
      • 2023-04-02
      • 2012-08-03
      • 1970-01-01
      • 2019-08-03
      • 2013-03-19
      • 2010-12-29
      相关资源
      最近更新 更多