Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用directShow从usb设备选择其他源_C#_Video_Directshow_Aforge_Directshow.net - Fatal编程技术网

C# 使用directShow从usb设备选择其他源

C# 使用directShow从usb设备选择其他源,c#,video,directshow,aforge,directshow.net,C#,Video,Directshow,Aforge,Directshow.net,我正在尝试使用一个RGE(directShow)从usb设备获取图像。该设备(USB3HDCAP)有3个不同的输入(HDMI、DVI和S-Video)。使用上面的代码,我可以访问并获得默认的输入图像(仅来自HDMI)。但是,当我更改设备上的物理输入(例如从HDMI更改为DIV)时,图像是黑色的。如何从其他输入(DVI或S-video)获取视频 您的代码片段就是用来捕获视频的。要在视频捕获硬件上切换输入,您需要使用crossbar重新配置设备 在普通DirectShow中,它就像他的: 使

我正在尝试使用一个RGE(directShow)从usb设备获取图像。该设备(USB3HDCAP)有3个不同的输入(HDMI、DVI和S-Video)。使用上面的代码,我可以访问并获得默认的输入图像(仅来自HDMI)。但是,当我更改设备上的物理输入(例如从HDMI更改为DIV)时,图像是黑色的。如何从其他输入(DVI或S-video)获取视频


您的代码片段就是用来捕获视频的。要在视频捕获硬件上切换输入,您需要使用crossbar重新配置设备

在普通DirectShow中,它就像他的:

使用Forge.NET,您应该查找类似的方法,例如,请参阅:

。。。VideoCaptureDivece.AvailableCrossbarVideoInputs提供可用视频输入的数组。VideoCaptureDivece.CrossbarVideoInput接受什么?-是视频输入。因此,将这两者结合起来:

VideoKaynagi.CrossbarVideoInput  = CrossbarVideoInput.AvailableCrossbarVideoInputs[0];
当然,您需要使用S-Video输入的索引更改0

我将尝试第一个(DirectShow),因为第二个,我已经尝试过了,并且不会从-AvailableCrossbarVideoInputs-数组为空得到任何结果。
VideoKaynagi.CrossbarVideoInput  = CrossbarVideoInput.AvailableCrossbarVideoInputs[0];