у меня есть базовый график DirectShow:
Видеозахват Источник: SMI Grabber Dev (4ch USB DVR)> видео рендерер
когда я запускаю график, я получаю эту ошибку:
устройство не подключено 0x8007048F
либо на GraphStudioNext или мой код C #. и я нашел решение, которое работало над GraphStudioNext, которое состоит в добавлении устройства устройств потоковой передачи WDM (фильтр поперечины SM DBA) и подключении к нему источника видеозахвата, но я не знаю, как сделать то же самое в моем коде c #.
Я ценю любую помощь, спасибо.
Ошибка ERROR_DEVICE_NOT_CONNECTED
: фильтр захвата не может работать сам по себе. Это можно рассматривать как ошибку / неточность аппаратного драйвера, поскольку в основном он должен работать без добавления перекладины.
Вы можете добавить перекрестный фильтр в явном виде, так как вы уже нашли то, что необходимо для подключения в восходящем направлении, или, скорее, вы можете добавить его ICaptureGraphBuilder2::FindInterface
вызов:
Если устройство захвата использует драйвер модели драйвера Windows (WDM), для графика могут потребоваться определенные фильтры перед фильтром захвата видео WDM, такие как фильтр ТВ-тюнера или фильтр аналоговых видеопереключателей. Если параметр pCategory не равен NULL, этот метод автоматически вставляет все необходимые фильтры WDM в график. Для этого он запрашивает входные контакты фильтра захвата, чтобы определить, какие носители они поддерживают, и подключает их к соответствующим фильтрам.
Вы можете посмотреть вверх DxTuner
образец из DirectShow.NET, чтобы увидеть FindInterface
пример использования.
Других решений пока нет …