Windows: Как узнать имя моего аудиозаписывающего устройства с помощью командной строки?

Windows: Как узнать имя моего аудиозаписывающего устройства с помощью командной строки?

Я не знаю, может ли это быть вопросом по программированию, поэтому я открыл соответствующий (и немного другой) вопрос на Переполнение стека. Кстати, если получу ответ, то опубликую его здесь.

Мне нужнополучить название доступной записиустройства для моей Windows ( SoundMAX HD Audio Iв этом примере):

Пример устройства аудиозаписи

Но мне нужно это сделать.через командную строкуесли возможно, при условии, что я обычно подключаюсь к компьютеру(ам) черезудаленный терминал(SSH) консоль.

Как мне решить эту проблему?

Мне нужны методы длякак Windows XP, так и Vista(и более поздние версии), но по крайней мере для Vista.
Дополнительное программное обеспечениеразрешено. Открытый исходный код предпочтителен, но не обязателен.

решение1

Только для Vista и выше: ЗагрузитьЗвукГромкостьВид(бесплатный и портативный, но не с открытым исходным кодом) и используйте его вместе со следующим пакетным файлом:

SoundVolumeView /scomma Audio.txt
for /f "tokens=1 delims=," %%d in ('type Audio.txt ^| find "Capture"') do @echo Default recording device is: "%%d"

В Windows 7 строковое значение REG_SZ называется{a45c254e-df1c-4efd-8020-67d146a850e0},2под каждым HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Capture\{GUID}\Propertiesключом указано имя соответствующего устройства записи/захвата, зарегистрированного в системе.

Вы можете получить все имена устройств записи/захвата следующим образом:

for /f "tokens=9 delims=\" %a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Capture" /s ^| find "\Properties"') do @for /f "tokens=2*" %k in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Capture\%a\Properties" /v "{a45c254e-df1c-4efd-8020-67d146a850e0},2"') do @echo "%l"

Связанный контент