Channeling audio to a particular device

From MSDN:

To enumerate the audio devices available on the user’s system, use the
ICreateDevEnum interface with the audio renderer category
(CLSID_AudioRendererCategory). For each audio device, the audio
renderer category contains two filter instances. One of these
corresponds to the DirectSound Renderer, and the other corresponds to
the Audio Renderer (WaveOut) filter. The DirectSound instance has the
friendly name “DirectSound: DeviceName,” where DeviceName is the name
of the device. The WaveOut instance has the friendly name DeviceName.

The audio renderer category contains two additional filter instances,
named “Default DirectSound Device” and “Default WaveOut Device.” These
correspond to the default sound device, as chosen by the user through
the Control Panel. They are actually mappings to one of the pairs
described in the previous paragraph. For example, if the system has
two audio devices, Device A and Device B, the audio renderer category
will contain the following:

In .NET you have wrapper to this API through [supposedly] DirectShow.NET library.

Read more here: Source link