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 I
neste exemplo):
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}\Properties
chave 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"