为啥我的 WASAPI 监听器即使在没有播放的时候也会触发?

Posted

技术标签:

【中文标题】为啥我的 WASAPI 监听器即使在没有播放的时候也会触发?【英文标题】:Why does my WASAPI listener fire even when nothing is playing?为什么我的 WASAPI 监听器即使在没有播放的时候也会触发? 【发布时间】:2020-04-07 14:55:13 【问题描述】:

如果没有播放任何声音,WASAPI 被记录为不发送音频数据,例如this note about WASAPI in NAudio:

现在有一个使用 WasapiLoopbackCapture 的问题。如果没有播放任何音频,则不会触发 DataAvailable 事件。因此,如果您想录制“静音”,一个简单的技巧是简单地使用 NAudio 播放设备在录制期间通过该设备播放静音。或者,您可以在检测到传入音频中的间隙时自己插入静音。

我编写了一个 WASAPI 监听器,但在我的机器上,它总是触发 即使没有任何声音发出声音。其他用户确实报告说,当没有播放时,信号停止。

所以我认为某些过程一定让 Windows 认为我的机器上正在播放某些东西,但我无法弄清楚它是什么。

我怎样才能找到这个幻像音频的来源?

【问题讨论】:

【参考方案1】:

这不是一个很好的答案,但是当我重新启动时,问题就消失了。我假设某些应用程序(例如 Spotify)正在播放某些东西,即使它听不见。

【讨论】:

以上是关于为啥我的 WASAPI 监听器即使在没有播放的时候也会触发?的主要内容,如果未能解决你的问题,请参考以下文章

WASAPI:IAudioClient->Initialize 成功,即使 IAudioClient->IsFormatSupported 以相同格式失败

WASAPI 的问题

C# NAudio asio 和 wasapi

Windows基础-使用XAudio2播放音频(本质是WASAPI)

为啥播放视频文件只有声音没有图像

NAudio Wasapi 录音和转换