有人做过视讯输入端口(S端子和AV端子)的指定 ,我想指定S端子。不知道怎么写。下面是在网上找到的C++写的一部分代码,有哪位高手帮我改改。。问题解决马上解贴IAMCrossbar *pXBar1 = NULL;
hr = Graph->FindInterface(&LOOK_UPSTREAM_ONLY, NULL, SourceFilter,
     IID_IAMCrossbar, (void**)&pXBar1);if (SUCCEEDED(hr))
{
    DisplayCrossbarInfo(pXBar1);
    pXBar1->Release();
}

解决方案 »

  1.   

    这有什么好翻译的,跟Delphi的不一样吗你用什么控件做的?
      

  2.   

    我是用DSPACK做的。还有Directxshow大哥可以给这方便的代码嘛
      

  3.   

    既然用了DSPack,那就方便了。
    在你的FilterGraph上,执行QueryInterface找出IAMCrossbar接口就可以了。
      

  4.   

    制式是这样找的。不知道S端子。是怎么写的。。请指教,
      if Succeeded(Filter.QueryInterface(IID_IAMAnalogVideoDecoder ,TmpIAMAnalogVideoDecoder)) then
      TmpIAMAnalogVideoDecoder.put_TVFormat(AnalogVideo_PAL_B);
      

  5.   

    var
      pXBar1: IAMCrossbar;
      hr: HResult;
    begin
      hr := (FilterGraph1 as ICaptureGraphBuilder).FindInterface(@LOOK_UPSTREAM_ONLY,
        SourceFilter as IBaseFilter, //采集卡Source Filter
        IID_IAMCrossbar, //
        pXBar1 //查询出的接口
        );  if (SUCCEEDED(hr)) then
      begin
        DisplayCrossbarInfo(pXBar1);//DisplayCrossbarInfo似乎是自定义的函数,具体怎么实现自己再看看吧
        pXBar1 := nil;
      end;
      

  6.   

    你的代码似乎是从陆其明的《DirectShow开发指南》摘下来的。上面有很详细的方法。为什么不自己再看看?只是把VC代码用Delphi来实现的工作了:)
      

  7.   

    健康才有快乐,大哥这个错误怎么解决呢
    Undeclared identifier: 'DisplayCossbarlnfo'
      

  8.   

    老大,错误提示信息不是很清楚,你看一下DisplayCossbarlnfo这个C实现的代码吧