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"

相关内容