Matthew van Eerde's web log
I am a Software Development Engineer in Test working for the Windows Sound team. You can contact me via email: mateer at microsoft dot com
Friend key: 28904932216450_59cd9d55374be03d8167d37c8ff4196b
A few previous posts have touched on how to get peak meter readings on the device, and per-app
Source and binaries attached.
EDIT September 22 2015: moved source to github https://github.com/mvaneerde/blog/tree/master/meters
Hey. I uses this code for my delphi appication and have one problem. For speakers i can get peaks values in any moment. For stereo mix i cant. This device must be active (active recording or just open audio settings in Widnows). How to get values for this device in any moment?
If a device has hardware peak metering, then the meter value is always accurate. There is a convenience method IAudioMeterInformation::QueryHardwareSupport which will tell you.
If there are no active streams on a device without hardware peak metering, the meter value is always 0. For playback devices this is correct! But for recording devices this is a pain.
thank You for answer
I'm trying to use the meters application on a computer running 64 bit Windows 7 Professional and I'm only get a "not a valid win32 application" error when executed. Is there anything you can advise.
@E-H: This tool uses the package API, which is Windows 8 and later; it will not run on Windows 7. Try the tool attached to the "More on IAudioSessionControl and IAudioSessionControl2, plus: how to log a GUID" post linked above.