Каждый пример в папке образцов directshow.net (с пометкой «2010-февраль») компилируется нормально, а те, которые воспроизводят видео из файлов, работают отлично. Однако каждый пример, который пытается перечислить FilterCategory.VideoInputDevices, всегда не может найти ни один из моих фильтров, в частности DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice);
всегда возвращает, что у меня нет устройств. Эта же проблема возникает у меня во всех других программах, использующих directshow.net, таких как touchless и различные примеры на codeplex.
У меня установлено четыре фильтра видеовхода (1 веб-камера и 3 фильтра захвата экрана), и их можно найти/использовать с помощью графического редактора, который поставляется с Windows SDK и диспетчером фильтров rl. Обе программы перечисляют четыре фильтра в разделе «Источники захвата видео», и каждый моникер начинается с правильного GUID, на который указывает FilterCategory.VideoInputDevices directshow.net («860BB310-5D01-11D0-BD3B-00A0C911CE86»).
Я пытался сам скомпилировать и использовать последнюю версию dll directshow.net, но ничего не изменилось.
Есть ли какая-то причина, по которой оболочка может нормально обрабатывать фильтры рендеринга видео, но не перечислять фильтры захвата видео? Я на win7 sp1, 64bit, использую Visual C# 2010 Express. Что-то в моем окружении вызывает это? Я бы с удовольствием справился с изменением сам, если бы знал, что его вызывает.
Спасибо за уделенное время.