Я не знаю, может ли это быть вопросом по программированию, поэтому я открыл соответствующий (и немного другой) вопрос на Переполнение стека. Кстати, если получу ответ, то опубликую его здесь.
Мне нужнополучить название доступной записиустройства для моей 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"