检查应用程序是否发出声音

今天我在这里问你如何“ 理解 ”给定的应用程序是否发出声音。 在Windows 7和8上,我使用以下代码(库CSCore音频

[...] AudioSessionManager2 sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render); AudioSessionEnumerator sessionEnumerator = sessionManager.GetSessionEnumerator(); AudioSessionControl2 sessionControl; foreach (AudioSessionControl session in sessionEnumerator) { sessionControl = session.QueryInterface(); if (sessionControl.Process.MainWindowTitle.StartsWith("my_test")) { sessione = sessionControl; audio = session.QueryInterface(); break; } } control.Text = sessione.Process.MainWindowTitle + "[" + audio.PeakValue + "]"; [...] 

它运行良好,但不适用于Windows XP。 有没有办法“ 普遍 ”去做呢? 如果有一种方法可以用Java做到这一点会更好,所以在Linux上工作(目前我不需要,但可能在将来)

对不起,Windows XP不会查询进程的音频峰值。 您还可以查看Windows XP音频混合器 。 没有显示峰值。