You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 10及以上系统如何查找近X分钟内产生声音的程序?

Windows 10及以上系统如何查找近X分钟内产生声音的程序?

我太懂这种抓狂的感觉了——Win11里突然蹦出个1秒左右的短声音,等你反应过来想切到音量混合器,它早就没影了!别慌,下面几个方法亲测靠谱,帮你揪出这个偷偷发声的程序:

方法一:用系统自带的事件查看器(完全免费,无需额外工具)

这是最稳妥的办法,Windows本身就会悄悄记录音频播放的事件:

  • Win + R打开运行窗口,输入eventvwr.msc回车,启动事件查看器。
  • 在左侧导航栏依次展开:应用程序和服务日志 > Microsoft > Windows > AudioService > Operational
  • 这个日志专门管音频服务的操作记录,其中事件ID为200的条目,就是「某个程序触发了声音播放」的证据。你可以这么操作:
    • 右键点击“Operational”日志,选择「筛选当前日志」,在“事件ID”框里输入200,点击确定,就能只显示所有发声相关的记录,不用在一堆无关日志里瞎找。
    • 或者直接点击列表顶部的「日期和时间」列,按时间倒序排序,最新的记录会排在最上面,对应你听到声音的时间点找就行。
  • 双击任意一条ID200的事件,切换到「详细信息」标签页,里面的「进程名称」字段会明明白白告诉你是哪个程序在搞事情,运气好的话还能看到它播放的音频文件具体路径!

方法二:用PowerShell快速导出最近的发声记录

如果你更偏爱命令行,或者想精准筛选某段时间内的记录,PowerShell能帮你一步到位:

  • 打开PowerShell(普通用户权限就行,不用管理员)。
  • 想查看所有历史发声记录(按时间从新到旧排列),直接运行这条命令:
    Get-WinEvent -LogName 'Microsoft-Windows-AudioService/Operational' | Where-Object {$_.Id -eq 200} | Select-Object TimeCreated, Message | Sort-Object TimeCreated -Descending
    
  • 要是只想看最近N分钟的记录(比如最近5分钟),就用这个调整过的命令,把-5改成你要的分钟数就行:
    $targetTime = (Get-Date).AddMinutes(-5)
    Get-WinEvent -LogName 'Microsoft-Windows-AudioService/Operational' | Where-Object {$_.Id -eq 200 -and $_.TimeCreated -ge $targetTime} | Select-Object TimeCreated, Message | Sort-Object TimeCreated -Descending
    
    运行后会直接列出符合时间范围的发声记录,最新的在最顶部,一眼就能看到是谁在发声。

方法三:第三方音频监控工具(可选)

如果觉得系统自带的工具界面不够直观,也可以试试轻量的第三方音频监控工具。这类工具通常会在后台静默运行,实时追踪所有产生声音的进程,还会保留最近的历史日志——等你听到那个短声音后,直接打开工具就能看到最近的发声条目,操作起来更顺手。不过要注意从正规渠道下载,别碰来路不明的软件哦。

备注:内容来源于stack exchange,提问作者Dan M.

火山引擎 最新活动