在 Windows 上拦截和后处理所有音频流

2024-01-01

我想知道有什么方法可以创建一个应用程序来拦截计算机上正在播放的所有音频,以便我可以处理音频(应用一些效果),然后将其进一步传递到 Windows 音频子系统?

我刚刚在Vista/7 WASAPI中瞥见了,有这个sAPO:http://www.microsoft.com/whdc/device/audio/sysfx.mspx http://www.microsoft.com/whdc/device/audio/sysfx.mspx但似乎我无法创建我的 sAPO 并将其安装在我喜欢的任何地方 - 我需要一个 WHQL 驱动程序。

有没有通用的方法可以做到这一点? 我有使用 DirectSound 的经验,但没有看到任何有关拦截音频流的有用信息。


如果您加载自定义 sAPO,则会全局影响系统的声音。这需要签名。从这篇文章 http://msdn.microsoft.com/en-us/library/ff538609%28v=VS.85%29.aspx:

音频引擎未加载 将未签名的 sAPO 添加到音频中 处理图。所以当你在 测试您的 SAPO,您必须禁用 Audiodg.exe 的受保护进程。 要禁用受保护的进程,请设置 的价值 DisableProtectedAudioDG 注册表项 到“1”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 上拦截和后处理所有音频流 的相关文章

  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 自定义波特率,redux

    我遇到的问题详述如下自定义波特率 https stackoverflow com questions 7714060 custom baud rate SetCommState 波特率 921600 失败 但波特率 115200 成功 尽管
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 需要 TensorFlow 依赖项。如何在 Windows 上运行 TensorFlow

    我有兴趣让 TensorFlow 在 Windows 上运行 但目前我意识到这是不可能的 因为某些依赖项无法在 Windows 上使用 例如巴泽尔 之所以出现这种需求 是因为据我目前了解 从 TensorFlow 访问 GPU 的唯一方法是
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 如何将 GIT 调用的输出获取到批处理脚本中的变量中?

    我有一个 git 命令来获取当前存储库的最新 SHA 如下所示 git log pretty format H n 1 我有一个 Windows 批处理脚本 我想按如下方式使用它 SET CURRENT SHA 但我不知道如何将从 git
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template

随机推荐

  • 错误 2003 (HY000):无法连接到 AWS RDS 上的 MySQL 服务器

    我创建了一个具有 主机名的外部用户以允许远程访问 将本地 MySQL 连接到远程 AWS RDS 时出现以下错误 错误 2003 HY000 无法连接到 instance cvxqy8tbi2bk us east 1 rds amazona
  • Android XML 解析省略“&”

    问题又是 虽然我在代码中成功实现了 SAX 解析器 但它的行为很奇怪 它只是跳过 之后的条目并转到下一个条目 只是想知道这是否是 SAX 解析器的典型工作方式还是我错误地实现了它 我已经实现了 org xml sax ContentHand
  • 如何使用 HttpWebRequest 获得文件并行

    我正在尝试制作一个像 IDM 这样的程序 它可以同时下载文件的部分内容 我用来实现此目的的工具是 C Net4 5 中的 TPL但是我在使用的时候遇到了问题Tasks使操作并行 序列功能运行良好 并且正在正确下载文件 使用任务的并行函数一直
  • 世博会在生产构建中找不到“主要”应用程序?

    几周前我一直在尝试修复这个错误 但没有成功 问题是我因此无法发布我的应用程序 当我为 iOS 或 Android 中的任何一个构建 expo 应用程序时 Expo CLI 签名过程进展顺利 没有错误并生成最终捆绑包 但是当我将 spa 或
  • 如何找到给定范围内的所有素数?

    def all primes start end list primes for i in range start end for a in range 2 i if i a 0 list primes append i return li
  • 拉取存储库时 X509 解析错误,“负序列号”

    我们的服务器通过代理访问互联网 当我尝试运行诸如之类的拉取命令时 sudo docker run t i ubuntu 14 04 bin bash 我收到以下错误 Get https index docker io v1 reposito
  • IE 100% CPU 挂起/获取堆栈跟踪

    我遇到过 IE7 挂起访问我的网络应用程序的情况 立足于优秀建议 https stackoverflow com questions 574423 ie hanging using 100 of the cpu 574595 574595
  • 如何将 UISegmentedControl 放在 NavigationController 下?

    我想知道让 UISegmentedControl 出现在 navigationController 下方的最佳方法是什么 就像在 AppStore 应用程序中一样 我要放入不同视图中的内容是 UITableView 就像 AppStore
  • 在 NSPredicate 中组合两个条件

    如何将两个条件结合起来NSPredicate 我正在使用以下语句 我想添加另一个条件 使用以下命令将密码与文本字段的内容进行比较AND request predicate NSPredicate format username txtUse
  • argv 可以在运行时更改(不能由应用程序本身更改)

    我想知道可以输入参数main 在运行时更改 换句话说 我们是否应该保护应用程序免受可能的影响TOCTTOU https en wikipedia org wiki Time of check to time of use处理数据时的攻击ar
  • JavaScript 是否通过引用传递? [复制]

    这个问题在这里已经有答案了 JavaScript 是按引用传递还是按值传递 这是一个例子JavaScript 好的部分 https en wikipedia org wiki Douglas Crockford Bibliography 我
  • 从存储过程返回单个值到 .Net 哪个更好:OUTPUT 参数或 ExecuteScalar?

    我需要创建一个需要返回一些记录计数的存储过程 我正在使用 Net 来读取结果 我可以使用OUTPUT参数返回值or我可以做一个select count 在存储过程中并使用SqlCommand ExecuteScalar http msdn
  • 将对象类型的数据帧列转换为浮点型[重复]

    这个问题在这里已经有答案了 我想将我的数据帧的所有非浮点类型列转换为浮点 有什么方法可以做到这一点 如果我能在 One Go 中做到这一点那就太好了 下面是类型 longitude float64 latitude float64 hous
  • Jquery 确认不起作用

    我试过这个 https stackoverflow com a 12617274 4164311 https stackoverflow com a 12617274 4164311 字符串 您确定吗 仅出现在我的浏览器中 当我单击该按钮时
  • 如何在phpmyadmin中导入表?我收到文件大小错误

    我想在 phpmyadmin 中导入数据库 但出现这样的错误 未收到要导入的数据 没有提交文件名 或者文件大小超出了 PHP 配置允许的最大大小 我的文件大小是 4 8 mb 请给我解决方案 按着这些次序 转到 PHP 文件夹 gt 搜索
  • HTTP 基本身份验证和 OAuth 2.0 相同吗?

    供应商 API 文档之一提到他们的 API 调用需要使用 HTTP 基本身份验证方案 即用户 密码 Base64 编码 但是他们的令牌 API 相当于登录 文档提到 此服务实现了 OAuth 2 0 资源所有者密码和凭据授予 HTTP 基本
  • 如何测试一个块是否被屈服?

    我有一个测试需要检查是否正在调用给定方法的块 block lambda some stuff block should receive call get data with timeout 1 block def get data with
  • 禁用 esc 键超时

    Problem I am in insert mode and then I might type a number and then quickly ESC because I stopped typing so it will chan
  • Django Rest Framework:创建对象后禁用字段更新

    我正在尝试通过 Django Rest Framework API 调用使我的用户模型 RESTful 以便我可以创建用户并更新他们的个人资料 但是 当我与用户进行特定的验证过程时 我不希望用户在创建帐户后能够更新用户名 我尝试使用 rea
  • 在 Windows 上拦截和后处理所有音频流

    我想知道有什么方法可以创建一个应用程序来拦截计算机上正在播放的所有音频 以便我可以处理音频 应用一些效果 然后将其进一步传递到 Windows 音频子系统 我刚刚在Vista 7 WASAPI中瞥见了 有这个sAPO http www mi