示例#1
0
        //设备状态改变事件响应
        public void DevChangeEventHandler(int type, int idx, int dbt)
        {
            if (1 == type)
            {
                if (1 == dbt)//设备到达
                {
                    EloamDevice tempDevice = (EloamDevice)global.CreateDevice(1, idx);
                    deviceList.Add(tempDevice);

                    selectDevice.Items.Add(tempDevice.GetFriendlyName());
                    if (-1 == selectDevice.SelectedIndex)
                    {
                        selectDevice.SelectedIndex = 0;//改变所选设备
                    }
                }
                else if (2 == dbt)//设备丢失
                {
                    EloamDevice tempDevice = deviceList[idx];
                    if (null != video)
                    {
                        EloamDevice tempDevice2 = (EloamDevice)video.GetDevice();
                        if (tempDevice == tempDevice2)
                        {
                            // closeVideo_Click(new object(), new EventArgs());

                            toolStripButton_stop_Click(new object(), new EventArgs());
                        }
                    }

                    deviceList[idx].Destroy();
                    deviceList.RemoveAt(idx);
                    selectDevice.Items.RemoveAt(idx);
                    if (-1 == selectDevice.SelectedIndex)
                    {
                        if (0 != deviceList.Count)
                        {
                            selectDevice.SelectedIndex = 0;
                        }
                        else
                        {
                            selectDevice.Items.Clear();
                            selectMode.Items.Clear();
                            selectResolution.Items.Clear();
                        }
                    }
                }
            }
        }
示例#2
0
        private void selectDevice_SelectedIndexChanged(object sender, EventArgs e)
        {
            int idx = selectDevice.SelectedIndex;//记录当前所选设备

            selectMode.Items.Clear();

            if (-1 != idx)
            {
                EloamDevice tempDevice = deviceList[idx];

                //加载模式列表
                int subtype = tempDevice.GetSubtype();
                if (0 != (subtype & 1))
                {
                    selectMode.Items.Add("YUY2");
                }
                if (0 != (subtype & 2))
                {
                    selectMode.Items.Add("MJPG");
                }
                if (0 != (subtype & 4))
                {
                    selectMode.Items.Add("UYVY");
                }

                //若为辅摄像头,优先选择MJPG方式
                if (1 != tempDevice.GetEloamType() && 0 != (subtype & 2))
                {
                    selectMode.SelectedIndex = 1;
                }
                else
                {
                    selectMode.SelectedIndex = 0;
                }

                this.toolStripButton_preview_start.Enabled = true;
            }
            else
            {
                this.toolStripButton_preview_start.Enabled = false;
            }
        }
示例#3
0
        private void toolStripButton_preview_start_Click(object sender, EventArgs e)
        {
            int    devIdx        = selectDevice.SelectedIndex;
            string curModeString = selectMode.SelectedItem.ToString();
            int    modeIdx       = (curModeString == "YUY2" ? 1 :
                                    (curModeString == "MJPG" ? 2 :
                                     (curModeString == "UYVY" ? 4 :
                                      -1)));
            int resIdx = selectResolution.SelectedIndex;

            if (-1 != devIdx)
            {
                if (null != video)
                {
                    video.Destroy();
                    video = null;
                }

                EloamDevice tempDevice = deviceList[devIdx];
                video = (EloamVideo)tempDevice.CreateVideo(resIdx, modeIdx);

                if (null != video)
                {
                    eloamView.SelectVideo(video);
                    eloamView.SetText("打开视频中,请等待...", RGB(255, 255, 255));

                    selectDevice.Enabled     = false;
                    selectResolution.Enabled = false;
                    selectMode.Enabled       = false;

                    //openVideo.Enabled = false;
                    //closeVideo.Enabled = true;
                }
            }

            this.toolStripButton_preview_start.Enabled = false;
            this.toolStripButton_preview_stop.Enabled  = true;
        }