Как я могу обнаружить нажатие кнопки камеры на устройстве usbvideo и разрешить совместное использование устройства с другим приложением? - PullRequest
0 голосов
/ 10 января 2019

Я пишу программу, которая будет следить за видеокамерой в драйвере usbvideo и узнавать, когда нажимается кнопка камеры. Я просто хочу уведомление о событии, а не поток или изображение. Я могу заставить его работать с C # и направлять show net library, но он останавливает доступ других программ к камере.

Мой успех - использование библиотеки AForge Videdo DirectShow. Фрагмент кода (который относится ко всей программе)


    videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
    videoDevice = new VideoCaptureDevice(videoDevices[0].MonikerString);
    snapshotCapabilities = videoDevice.SnapshotCapabilities;
    videoCapabilities = videoDevice.VideoCapabilities;

    videoDevice.ProvideSnapshots = true;
    videoDevice.SnapshotResolution = snapshotCapabilities[0];
    videoDevice.VideoResolution = videoCapabilities[0];

    videoDevice.SnapshotFrame += new NewFrameEventHandler(cameraButtonEvent);

    videoDevice.Start();

Обработчик cameraButtonEvent вызывается при каждом нажатии кнопки камеры. Однако никакое другое приложение не может получить доступ к камере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...