如何检测哪个程序在Windows 7上播放声音?

One*_*Hat 7 java audio winapi winamp

我正在尝试编写一个小的后台程序,当另一个程序播放声音时,它会阻止音乐播放Winamp.关于通过Java访问Winamp的部分已经解决了,我现在需要一种方法来检测哪个节目播放当前播放的声音(可能我想让一些节目播放他们的声音而不停止我的音乐).虽然我在Java(+ winapi)中这样做,但任何语言的一切都会有所帮助.

[编辑]因为我刚刚在第一个问题上得到了第一个问题,这里有一些更详细的信息:我已经想出了如何使用winapi(但我不知道它)并捕获诸如音量等级和东西之类的东西.仍然存在问题的是上面提到的对所播放声音的起源的检测以及哪个节目播放声音.winapi中有什么可以帮助我做到这一点吗?[/ edit]

Dea*_*nna 3

我相信Vista+ 中的Windows Core Audio API允许您获取每个应用程序的 VU 级别(毕竟,混音器会显示它)。这应该允许您在一个应用程序正在播放时拒绝另一个应用程序等。