我正在尝试编写一个小的后台程序,当另一个程序播放声音时,它会阻止音乐播放Winamp.关于通过
Java访问Winamp的部分已经解决了,我现在需要一种方法来检测哪个节目播放当前播放的声音(可能我想让一些节目播放他们的声音而不停止我的音乐).虽然我在Java(winapi)中这样做,但任何语言的一切都会有所帮助.
[编辑]因为我刚刚在第一个问题上得到了第一个问题,这里有一些更详细的信息:我已经想出如何使用winapi(但我不知道它)并捕捉音量和音量等内容.仍然有问题的是所提到的声音的起源的检测以及哪个节目播放声音. winapi中有什么可以帮助我做到这一点吗?[/ edit]
解决方法
正如Deanna所说,您可以枚举音频播放会话,就像Volume Mixer应用程序(从系统托盘图标启动)一样,并获得指示会话状态的每会话米.
您可以在此答案中找到执行此操作的C应用程序:Peak meters for individual programs on Windows 7.计量表是每个会话,启用音频的应用程序可能包含一个或多个会话,但最终只要您枚举它们,您就可以确定那里有任何有效的播放.