VLC DirectShow capture to use default audio device

0

I need to capture audio with VLC from the default capture device set for the system in Windows. If I set the audio device in the capture dialog to "Default", it seems to capture from the first audio device in the list rather than the one configured to be the default on the system.

VLC Capture Dialog

Removing :dshow-adev= from the command line doesn't help either.

How can I get VLC to capture from the default system device?

Brad

Posted 2013-08-18T03:34:01.187

Reputation: 4 459

Answers

1

The DirectShow framework does not use the settings specified by Windows for default devices, therefore changing your options from the Windows sound settings will not affect DirectShow.

VLC is actually just enumerating the devices on the system and selecting the first audio device it finds. You can just select the specific device that you want to use from the drop-down, or alternatively you can disable the audio devices you don't want to use until the one you want is first in the list.

heavyd

Posted 2013-08-18T03:34:01.187

Reputation: 54 755

Thanks for the reply, that is good to know. My root problem is that I will be launching VLC from another program, and there doesn't seem to be a way to get a list of devices from VLC. I thought that by using the default device, this would be acceptable, but if DirectShow is using its own settings, then that won't work. Do you know of a way to get a list of devices from VLC, over STDOUT or something? – Brad – 2013-08-20T21:18:11.097

I don't know of any way to enumerate device from the VLC command line. However, FFMPEG does seem to have that feature: http://trac.ffmpeg.org/wiki/DirectShow You could also look at this Stackoverflow question if you're looking to do it programatically.

– heavyd – 2013-08-20T22:26:34.897

Thanks, that question you linked to is also my question. :-D Yeah, it seems I'll have to do it programmatically outside of VLC. – Brad – 2013-08-20T22:38:56.270

heh.. sure enough it is. If you are going the programatic route, you might take a look at DirectShow.NET specifically the DsDevice class. That should make it pretty easy for you.

– heavyd – 2013-08-20T22:45:04.897

Nice find! Thanks. That will definitely help. – Brad – 2013-08-20T22:51:19.213