How to get audio data from a specific application running on Windows

  audio, c++, hook, windows

I’m trying to develop a Windows C/C++ application which I can select a specific running application(ex. youtube in chrome, windows media player…), process their audio data in real time, then save it to audio files. Namely, I have to get the specific application’s audio stream data in real time.

I’ve heard of the Virtual Audio Cable. Unfortunately if I have to use it, I’ll have to open two applications(the VAC and my audio processing app) at the same time since it doesn’t have any API or stuff for us to utilize it programmatically. Besides, it’s commercial.

I’ve also heard of the hook API but since it’s more than sophisticated for a normal software engineer that doesn’t crack libraries and stuff, I’ll leave it as my last plan.

Is there any method I can try or take a look at? Thanks!

Source: Windows Questions