我正在从我的应用程序执行 VLC 以从 DirectShow 音频捕获设备捕获和编码。VLC 通过 STDOUT 将编码数据发送到我的应用程序。我需要一种枚举 DirectShow 音频捕获设备的方法。不幸的是,VLC 似乎没有为此提供任何非 GUI 方式。
在寻找一种获取设备名称列表的简单方法时,我偶然发现了这些注册表项,其中子项以音频捕获设备命名:
HKEY_CURRENT_USER\Software\Microsoft\ActiveMovie\devenum 64-bit\{33D9A762-90C8-11D0-BD43-00A0C911CE86}
HKEY_CURRENT_USER\Software\Microsoft\ActiveMovie\devenum\{33D9A762-90C8-11D0-BD43-00A0C911CE86}
此注册表位置是否保证与其他计算机和最新版本的 DirectX 位于同一位置?除了实现大量 DirectX 代码之外,还有其他方法可以获取 DirectShow 音频设备名称列表吗?(可能通过诊断工具的某些输出。)