Crossbar过滤器将当前输入更改为Composite

时间:2013-02-18 06:48:15

标签: c# directshow capture

我是DirectShow的新手。我正在用C#编写一个应用程序来捕获模拟捕获卡。 我有一个模拟采集卡&我想知道如何更改模拟交叉开关滤波器属性,从“0:模拟调谐器输入”到“1:视频复合输入”。这是我的过滤器图表

FilterGraph

我无法将调谐器的“模拟视频引脚”连接到Crossbar滤波器的“Video Composite In”。我尝试运行IAMCrossbar过滤器的“Route”方法,但失败了。我不知道我的道路是否正确。请指导......

1 个答案:

答案 0 :(得分:0)

IAMCrossbar::Route就是这样做的。请务必阅读Working with Crossbars以获取详细信息 - 它是C ++ API,但我认为您使用的是DirectShow.NET,它具有类似的方法。

解决方案代码段来自以下评论:

IAMCrossbar Xbar = (IAMCrossbar)pNM8001AnalogXbar; 
//hr = Xbar.CanRoute(1, 0); 
hr = Xbar.Route(1, 0); 
checkHR(hr, "Some NM8001AnalogXbar Problem"); //CONNECT NM8001 Analog TUNER and NM8001 Analog XBAR 
hr = pGraph.ConnectDirect(
  GetPin(pNM8001AnalogTuner, "Analog Video"), 
  GetPin(pNM8001AnalogXbar, "0: Video Tuner In"), 
  null); 
checkHR(hr, "Can't Connect NM8001AnalogTuner and NM8001AnalogXbar");