2014-04-20 46 views
0

今天我在這裏問你怎麼可以「瞭解」如果給定的應用程序發出聲音。 在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上工作(目前我不需要,但可能在未來)

+0

對不起,我忘了....這甚至不是我第一次寫在這裏:(對不起...... – user2263764

回答

1

對不起,但Windows XP沒有查詢進程的音頻峯值。您還可以看看Windows XP Audio Mixer。沒有顯示峯值。

+0

感謝您的快速回復 你知道嗎,如果你可以在Linux上通過Java? 或在至少有事要告訴你,如果一個給定的過程中發出聲音...... – user2263764

+0

我很抱歉。我有不知道是否可以在Linux上。 –

相關問題