今天我在這裏問你怎麼可以「瞭解」如果給定的應用程序發出聲音。 在Windows 7和8我用下面的代碼(庫CSCore Audio)檢查如果一個應用程序發出的聲音
[...]
AudioSessionManager2 sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render);
AudioSessionEnumerator sessionEnumerator = sessionManager.GetSessionEnumerator();
AudioSessionControl2 sessionControl;
foreach (AudioSessionControl session in sessionEnumerator)
{
sessionControl = session.QueryInterface<AudioSessionControl2>();
if (sessionControl.Process.MainWindowTitle.StartsWith("my_test"))
{
sessione = sessionControl;
audio = session.QueryInterface<AudioMeterInformation>();
break;
}
}
control.Text = sessione.Process.MainWindowTitle + "[" + audio.PeakValue + "]";
[...]
它運作良好,但Windows XP。 有沒有辦法「普遍」辦呢? 如果有辦法在Java中做到這一點會更好,所以在Linux上工作(目前我不需要,但可能在未來)
對不起,我忘了....這甚至不是我第一次寫在這裏:(對不起...... – user2263764