Windows: Método de linha de comando para saber o nome do (s) meu (s) dispositivo (s) de gravação de áudio?

1

I don't know if this could be a rather programming question, so I have opened a corresponding (and a bit different) question at StackOverflow. I will post the answer here if I obtain it, by the way.

Eu preciso obter o nome dos dispositivos de gravação disponíveis para o meu Windows ( SoundMAX HD Audio I neste exemplo):

Mas eu preciso fazê-lo via linha de comando se possível, desde que eu normalmente me conecte ao (s) computador (es) via console de terminal remoto (SSH).

Como eu poderia resolver isso?

Eu preciso de métodos para Windows XP e Vista (e laters), mas pelo menos para o Vista.
Software adicional permitido. Código aberto preferido, mas não obrigatório.

    
por Sopalajo de Arrierez 01.06.2015 / 00:53

1 resposta

2

Apenas para o Vista e acima: Faça o download do SoundVolumeView (gratuito e portátil, mas não de código aberto) e use-o junto com o seguinte arquivo em lotes:

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

No Windows 7, o valor da cadeia REG_SZ chamado {a45c254e-df1c-4efd-8020-67d146a850e0}, 2 sob cada tecla HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Capture\{GUID}\Properties contém o nome do dispositivo de gravação / captura correspondente registrado no sistema.

Você pode recuperar todos os nomes de dispositivos de gravação / captura da seguinte forma:

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"
    
por 01.06.2015 / 11:57