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"

相關內容