title: How to get the volume level in the software that plays the audio (not the system volume) in C#?
body: <p>I monitor the input volume in the computer (i.e the volume in the computer's mixer, not the system volume/the output volume) in C# using the <a href="http://naudio.codeplex.com/" rel="nofollow">NAudio</a> library:</p>
  
  <pre><code>inputVolume = device.AudioMeterInformation.MasterPeakValue;
  </code></pre>
  
  <p>Now, the input volume also depends on the software/media player that plays the audio - either Windows Media Player, the WMP browser plugin or any other software (like VLC, Winamp, Quciktime, etc).</p>
  
  <p>My problem is that I need to know when the user changes the input volume through the software that plays the audio. When a user increases the volume level in the software, for example, it increases the input volume - but I can't know if it's because the stream itself is "louder" or because the user has increased the volume level in the software that plays the audio.</p>
  
  <p>If the user just increases the computer system volume, it doesn't affect anything, because it's the output volume and I don't care about it.</p>
  
  <p>The audio is not from a file on the user computer but rather from a live stream through the internet (it can still be played on audio applications that are installed on the computer and not only in the browser).</p>
  
  <p>Is it possible to get the volume level in the software that plays the audio? It's usually the Windows Media Player browser plugin, but it can also be a different software.<br>
  If it's not possible, is there any workaround?</p>