gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:25:43 27 4
gpt4 key购买 nike

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

[编辑] 因为我刚刚对我的第一个问题进行了第一次反对,这里有一些更详细的信息:我已经弄清楚了如何使用 winapi(但我不知道)并捕获诸如音量级别之类的东西。仍然有问题的是所提到的检测所播放声音的来源以及播放声音的程序。 winapi 中有什么可以帮助我做到这一点吗?[/edit]

最佳答案

正如 Deanna 提到的,您可以像 Volume Mixer 应用程序(从系统托盘图标启动)那样枚举音频播放 session ,并获取指示 session 状态的每个 session 计量器。

您可以在这个答案中找到执行此操作的 C++ 应用程序:Peak meters for individual programs on Windows 7 .这些计量器是按 session 计算的,启用音频的应用程序中可能有一个或多个 session ,但最终只要您枚举它们,就可以确定那里是否有任何 Activity 播放。

关于java - 如何检测哪个程序在 Windows 7 上播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14758360/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com