Crossbarfilter将当前输入更改为Composite

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

FilterGraph动态

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

IAMCrossbar::Route是你如何做到的。 请务必阅读使用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");