Windows shell: How can I get the audio device(s) name(s)?
I’m not certain if that is strictly a programming query, so long as I
do not thoughts to make use of further software program with the intention to resolve the issue, so long as it retains being scriptable or command-line (that is: a not GUI answer). Anyway, I’ve posted one other (a bit totally different) query at SuperUser. By the way in which, I’ll replace right here if I get the reply there.
My Home windows program (only a shell script) invokes VLC command-line with the intention to file audio from the audio card and stream it out, like:
vlc dshow:// :dshow-vdev=none :dshow-adev="SoundMAX HD Audio I" :std{mux=ts,entry=http,dst=:8080} :sout-keep [rest of the cmdline not relevant]
So long as there might be a number of audio units on a pc (webcam, a number of audio playing cards, bluettoth units… and so forth), I have to programmatically get the identify of them.
I’ve used FFMPEG till now:
ffmpeg -list_devices true -f dshow -i dummy
… however generally it doesn’t work OK, for instance:
d:UtilsFFMPEGbin>ffmpeg -list_devices true -f dshow -i dummy
ffmpeg model N-72460-g11aa050 Copyright (c) 2000-2015 the FFmpeg builders
constructed with gcc 4.9.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --ena
ble-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 26.100 / 54. 26.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 34.100 / 56. 34.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
[dshow @ 0000000000363520] DirectShow video units (some could also be each video and
audio units)
[dshow @ 0000000000363520] Couldn't enumerate video units (or none discovered).
[dshow @ 0000000000363520] DirectShow audio units
[dshow @ 0000000000363520] Couldn't enumerate audio solely units (or none discovered
).
dummy: Rapid exit requested
The command line software SystemInfo
does neither work:
C:>systeminfo | discover "audio" /i
C:>
Looking inside regedit
discovered nothing about my soundcard instance (SoundMAX HD Audio I
).
Is not there another extra dependable strategy to programmatically acquire the sound gadget(s) identify(s)?
If doable, I would favor to acquire solutions for each Home windows XP and Vista or later.
Further exams carried out:
- Put in newest MicroSoft .NET FrameWork v4.5.2 & rebooted.
- Examined older variations of FFMPEG: v4.8 (2014) and v4.7 (2013).
- Examined UAC elevated immediate.