Windows-Shell: Wie kann ich die Namen der Audiogeräte abrufen?

Ich bin nicht sicher, ob dies eine reine Programmierfrage ist, solange es mir nichts ausmacht, zusätzliche Software zu verwenden, um das Problem zu lösen, solange diese weiterhin skriptfähig oder über die Befehlszeile erreichbar ist (dies ist: keine grafische Benutzeroberfläche) Lösung). Wie auch immer, ich habe eine andere (etwas andere) Frage an @ gepost SuperUser. Übrigens werde ich hier aktualisieren, wenn ich dort die Antwort bekomme.

Mein Windows-Programm (nur ein Shell-Skript)invokes VLC-Befehlszeile damitTon aufnehme von der Audiokarte und streamen Sie es aus, wie:

vlc dshow:// :dshow-vdev=none :dshow-adev="SoundMAX HD Audio I" :std{mux=ts,access=http,dst=:8080} :sout-keep [rest of the cmdline not relevant]

Solange es @ geben könnmehrere Audiogeräte Auf einem Computer (Webcam, mehrere Audiokarten, Bluetooth-Geräte usw.) muss ich das @ programmgesteuert abrufeNam von ihnen

Ich habe FFMPEG bis jetzt benutzt:

ffmpeg -list_devices true -f dshow -i dummy

... aber manchmal funktioniert es nicht, zum Beispiel:

d:\Utils\FFMPEG\bin>ffmpeg -list_devices true -f dshow -i dummy
ffmpeg version N-72460-g11aa050 Copyright (c) 2000-2015 the FFmpeg developers
  built 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 devices (some may be both video and
audio devices)
[dshow @ 0000000000363520] Could not enumerate video devices (or none found).
[dshow @ 0000000000363520] DirectShow audio devices
[dshow @ 0000000000363520] Could not enumerate audio only devices (or none found
).
dummy: Immediate exit requested

Das Kommandozeilen-ToolSystemInfo funktioniert auch nicht:

C:\>systeminfo | find "audio" /i

C:\>

Innerhalb suchenregedit habe nichts über mein Soundkartenbeispiel gefunden SoundMAX HD Audio I).

Gibt es keine andere zuverlässigere Möglichkeit, programmgesteuert Besorgen Sie sich die Audiogeräte name (s)?

Wenn möglich, würde ich es vorziehen, Antworten für Windows XP und Vista oder höher zu erhalten.

Zusätzlich tests durchgeführt:

Installierte die neueste Version von MicroSoft .NET FrameWork v4.5.2 und wurde neu gestartet. Getestet ältere Versionen von FFMPEG: v4.8 (2014) und v4.7 (2013). Getestete erhöhte UAC-Eingabeaufforderung.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage