2011-07-07 125 views
2

如何判斷Windows是否正在通過主音頻設備播放任何聲音?我需要知道,以便我可以讓我的程序自動調整音量。如何判斷Windows是否正在播放任何聲音?

+0

究竟是什麼想法?播放聲音時調節音量?什麼時候不播放聲音?你能否深入解釋一下? –

+0

我覺得這樣更適合超級用戶 –

+0

爲什麼?這是一個編程問題。我想知道如何以編程方式檢測它。 –

回答

3

你可以使用CSCore。
在此處下載 - >http://cscore.codeplex.com/

將這些行粘貼到控制檯項目上。

using System; 
using CSCore.CoreAudioAPI; 

namespace AudioDetector 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine(IsAudioPlaying(GetDefaultRenderDevice())); 
      Console.ReadLine(); 
     } 

     public static MMDevice GetDefaultRenderDevice() 
     { 
      using (var enumerator = new MMDeviceEnumerator()) 
      { 
       return enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console); 
      } 
     } 

     public static bool IsAudioPlaying(MMDevice device) 
     { 
      using (var meter = AudioMeterInformation.FromDevice(device)) 
      { 
       return meter.PeakValue > 0; 
      } 
     } 
    } 
} 

播放的音樂是在YouTube上,音樂播放器等..
運行程序。
它會自動通知(true/false)是否有當前正在播放的音頻。

相關問題