Я выполняю VLC из своего приложения для захвата и кодирования с устройства записи звука DirectShow. VLC отправляет закодированные данные в мое приложение через STDOUT. Мне нужен способ перечислить устройства захвата звука DirectShow. К сожалению, VLC, похоже, не обеспечивает какой-либо не-GUI-способ для этого.Расположение реестров устройств записи звука DirectShow
В поисках простого способа получить список имен устройств, я наткнулся на этих ключах реестра, когда дочерние ключи названы после того, как аудио устройств захвата:
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? (Возможно, через какой-то вывод диагностического инструмента.)
'1' Простой способ перечисления через API' 2' небольшая коррекция - DirectShow не является списком DirectX '3', это больше, чем записи в реестре: есть перечисления, которые программируют программные программы, а не только из раздела реестра' 4 'disgnostic tool is [здесь] (http://www.alax.info/trac/public/browser/trunk/Utilities/EnumerateAudioCaptureFilterCapabilities/Win32/Release), найдите строки« Friendly Name »(шаг оттуда для C++ исходный код). Вы также можете перечислить с помощью Windows SDK 'GraphEdt.exe' в интерактивном режиме. –
@RomanR., Спасибо за эту полезную информацию! Пожалуйста, подумайте о публикации этого ответа. – Brad
Я не был уверен, что вы будете довольны этим знанием, или вы все равно будете искать способы настроить его в реестре ... –