LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How can I get lists and sound level of volume mixer.

Solved!
Go to solution

  I want to know how to get the names and sound level data of each items in the volume mixer.

  I tried to use the sound functions supported by LabVIEW and measure them on the USB port, but failed. While looking for information, I noticed a DLL related to the volume mixer. So I'm studying how to access the volume mixer via DLL and measure the item name and sound level. If you have small tips or hints for my study, please share them.

  Thank you for reading my question. I hope today is a significant day.

0 Kudos
Message 1 of 4
(3,125 Views)

Hi Elchuran,

 

Using the WaveIO library, you can query the device names with WaveIO_GetInfo.vi, and then query the device volume with WaveIO_Volume.vi. This snippet monitors the mixer volume of each output device, but can be modified to monitor input devices.

 

device_volumes_snippet.png

Message 2 of 4
(3,075 Views)

Thank Dataflow_G for your answer.
I tried the method you showed me but didn't get the result I wanted. I apologize for not asking specific questions. Exactly what I want is to know the volume information of sound sources such as games and chrome browsers, as well as system sounds in the volume mixer. Can you tell me how to use the function you introduced or some other way to accomplish my purpose?

0 Kudos
Message 3 of 4
(3,015 Views)
Solution
Accepted by topic author Elchuran

Your best option is probably using the lower level Windows audio API, known as CoreAudio. There are a few .NET wrappers for the CoreAudio API, and so can be accessed from LabVIEW using its .NET nodes.

 

This .NET wrapper for CoreAudio provides a GetApplicationVolume function. You just need to pass it the PID of the process you want to get the volume for. I haven't used it before (and it needs to be compiled into a .NET DLL), but it should give you a starting point on how to use the API.

0 Kudos
Message 4 of 4
(2,993 Views)