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

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

Não sei se esta poderia ser uma questão de programação, então abri uma pergunta correspondente (e um pouco diferente) em StackOverflow. A propósito, postarei a resposta aqui se a obtiver.

Precisoobtenha o nome da gravação disponíveldispositivos para meu Windows ( SoundMAX HD Audio Ineste exemplo):

Exemplo de dispositivo de gravação de áudio

Mas eu preciso fazer issovia linha de comandose possível, desde que eu normalmente me conecte ao(s) computador(es) viaterminal remoto(SSH).

Como eu poderia resolver isso?

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

Responder1

Apenas para Vista e superior: BaixarSoundVolumeView(gratuito e portátil, mas não de código aberto) e use-o junto com o seguinte arquivo em lote:

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 string REG_SZ denominado{a45c254e-df1c-4efd-8020-67d146a850e0},2sob cada HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Capture\{GUID}\Propertieschave 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"

informação relacionada