日期:2014-05-17  浏览次数:21161 次

视频采集卡的二次开发,用C#做应用程序出错
我用海康的DS4000的视频采集卡,初始化完毕怎么只能打开一路图像啊?
4路的采集卡,为什么只有1路能打开呢?
用C++的DEMO没事,改成C# 就不行了
求指点,谢谢

HikVisionSDK是我用C#写的,包含了DLL中的函数名称,下面引用即可


public FormFullScreenShow()
        {
            InitializeComponent();

            if (HikVisionSDK.InitDSPs() <= 0)
            {
                MessageBox.Show("视频压缩卡初始化失败!");
                return;
            }
           
            for (int i = 0; i < PLAYER_MONITORS_COUNT; i++)
            {
                player_monitors[i] = new UCtrlPlayer();//初始化窗口
                panel_RealPlay.Controls.Add(player_monitors[i]);//添加窗口
                player_monitors[i].iSubWndIndex = i;//子窗口标记
                
            }

            iTotalDSPs = HikVisionSDK.GetEncodeChannelCount();  //获取系统中编码通道的总数 
            //MessageBox.Show(iTotalDSPs.ToString());
        }

 


        private void FormFullScreenShow_Load(object sender, EventArgs e)
        {   
            PlayerMonitorsShowResize();//播放器重置
            for (int i = 0; i < iTotalDSPs; i++)
            {
                handle[i] = HikVisionSDK.ChannelOpen(i);//..........................................................
                MessageBox.Show(string.Format("handle[{0}]的句柄号为:{1}", i,handle[i]));
                rec[i].Location = player_monitors[i].Location;
                rec[i].Size = player_monitors[i].Size;
                player_monitors[i].RealPlayStart(rec[i], handle[i]);
            }
        }

以上运行起来后,一切正常,通道总数也获取成功,就是我分了4个画面,只有画面1有图像,其他都没有
是我的代码写的有问题还是调用顺序不对呢?
请问GPL协议