是否有可能确定哪个应用程序在我的系统上产生了某些声音?

是否有可能确定哪个应用程序在我的系统上产生了某些声音?

时不时地(例如,一天两次)我会听到我的计算机(Windows 7)上发出奇怪的短暂声音,我相信这是来自 Windows Live Messenger、Teamviewer、Skype 或类似的后台应用程序的声音。

有没有直接的方法来查找/追踪声音的来源;而不需要禁用所有应用程序,然后一次打开一个?

我在想类似“进程监控我可以激活“声音”功能,然后在每次产生声音时创建一个日志吗?

更新 2011-07-24

哈!刚刚又听到那个声音了。它大约持续 1 秒,听起来像蟋蟀的鸣叫以下是一个示例)。

答案1

我能想到的最简单的方法是使用音量混合器。它列出了当前正在使用扬声器的所有进程,如您在此处所见:

音量混合器

如何启动音量混合器:

  1. Win+ R“sndvol”Enter

替代解决方案:

它似乎进程监控是声音的进程监视器。您可以Path为常见的音频格式扩展设置过滤器,例如WAV并开始捕获事件。然后,播放音频文件的相关进程应列在进程监视器中。

  1. 设置Path过滤器以包含以下内容的条目WAV 进程监控过滤器

  2. 开始捕获并等待进程播放声音 ProcMon 捕获

  3. 查看输出以确定哪些操作不会重复发生,并创建一个Operation过滤器来排除所有其他操作,并将信号与噪声分离 ProcMon-包括 QueryOpen

  4. 您应该会看到经过筛选的进程列表,其中包含它们播放过的声音 ProcMon-过滤列表


笔记:你可能无法检测到全部使用此方法播放声音的程序(例如 Google Chrome 播放 YouTube 视频),但这应该可以满足您记录声音播放的需求。

答案2

跟踪声音生成的一种可能方法是使用 API 监视器监视对各种音频/多媒体 API 的调用。我有时使用http://www.rohitab.com/apimonitor,它非常强大(而且免费);不幸的是,我没有看到自动附加到新进程的选项,这意味着您需要手动将 API 监视程序附加到您启动的每个新程序。如果您使用的是 64 位版本的 Windows,您甚至需要同时运行 32 位和 64 位版本才能监视这两种进程……所以,这是可能的,但很难做到。

下面是 Skype 生成铃声的一个例子,同时拦截对音频/视频 API 的调用(它进行了超过 1.5k 次 API 调用来产生该声音!):

APIMonitor 在铃声期间监控 Skype.exe 上的音频 API 调用

答案3

刚刚弄清楚了声音的原因:每当访客导航到我们的支持聊天时,都会发出通知声音直播在我们的网站上。

以下是 LiveZilla 的(德语)选项对话框的屏幕截图:

直播!

我现在解决了随机声音的问题,尽管有关“声音痕迹”的问题似乎仍然只能通过“不可用”来回答。

相关内容