有没有办法拦截从扬声器发出的声音,以便我可以插入基于 C#.NET 软件的音频过滤器?

Posted

技术标签:

【中文标题】有没有办法拦截从扬声器发出的声音,以便我可以插入基于 C#.NET 软件的音频过滤器?【英文标题】:Is there a way to intercept the sound coming out of my speakers so that I can insert a C#.NET software-based audio filter? 【发布时间】:2016-02-22 21:08:38 【问题描述】:

我患有耳鸣,我可以使用许多基于声音的疗法来减轻幻音。

我想探索使用基于软件的过滤器处理从我的电脑传到耳机甚至扬声器的声音的可能性。

有没有办法使用 C# 截取音频流,对其进行处理(例如应用带通滤波器),使其能够继续传输到外部设备?

【问题讨论】:

我认为实现您所描述的唯一方法是为相关设备(扬声器或耳机)编写自定义音频驱动程序。如果是这种情况,那么不幸的是,不可能在 C# 中。驱动程序是用 C++ 和汇编程序混合编写的。 非常感谢。我想我应该考虑编写一个音频播放器工具并在其中构建过滤器。 【参考方案1】:

我建议使用虚拟音频设备来捕获声音并在处理后将其传输到真实的扬声器。我不确定是否可以使用 c# 创建它。但是您可以使用现有的驱动程序,例如vac。因此,您将 vac 设置为默认设备。您创建一个 c# 程序,该程序从 vac 记录、进行处理并将其发送给扬声器。

【讨论】:

以上是关于有没有办法拦截从扬声器发出的声音,以便我可以插入基于 C#.NET 软件的音频过滤器?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 在 Windows 上检测系统声音

在 BIOS 中发出哔声

电脑插入耳机后声音还是从电脑端发出

Arduino 扬声器发出长时间连续的噪音

插入耳机时扬声器音量(警报)降低

Win10 耳机无声音,扬声器有声音的解决办法