Exemplo n.º 1
0
        private void btnFind_Click(object sender, EventArgs e)
        {
            if (comboBox1.Text.Contains("通道"))
            {
                MessageBox.Show("请选择通道号再进行查询!");
                return;
            }


            NET_DVR_TIME Stime = new NET_DVR_TIME();


            Stime.dwYear   = uint.Parse(dateTimePicker1.Value.Year.ToString());
            Stime.dwMonth  = uint.Parse(dateTimePicker1.Value.Month.ToString());
            Stime.dwDay    = uint.Parse(dateTimePicker1.Value.Day.ToString());
            Stime.dwHour   = uint.Parse(dateTimePicker2.Value.Hour.ToString());
            Stime.dwMinute = uint.Parse(dateTimePicker2.Value.Minute.ToString());
            Stime.dwSecond = uint.Parse(dateTimePicker2.Value.Second.ToString());

            NET_DVR_TIME Etime = new NET_DVR_TIME();

            Etime.dwYear    = uint.Parse(dateTimePicker3.Value.Year.ToString());
            Etime.dwMonth   = uint.Parse(dateTimePicker3.Value.Month.ToString());
            Etime.dwDay     = uint.Parse(dateTimePicker3.Value.Day.ToString());
            Etime.dwHour    = uint.Parse(dateTimePicker4.Value.Hour.ToString());
            Etime.dwMinute  = uint.Parse(dateTimePicker4.Value.Minute.ToString());
            Etime.dwSecond  = uint.Parse(dateTimePicker4.Value.Second.ToString());
            iFindfileHandle = NET_DVR_FindFile(m_lUserID, Convert.ToInt32(comboBox1.Text), 0xff, ref Stime, ref Etime);
            if (iFindfileHandle == -1)
            {
                MessageBox.Show("没有电子标签录像文件,请注意");
                return;
            }
            else
            {
                lvFlieList.Items.Clear();
            }
            NET_DVR_FIND_DATA FindNextFile = new NET_DVR_FIND_DATA();

Label_017C:
            switch (NET_DVR_FindNextFile(this.iFindfileHandle, ref FindNextFile))
            {
            case 1000:
            {
                string[] str = { FindNextFile.sFileName.ToString() + ".mp4", FindNextFile.dwFileSize.ToString() + "MB" };
                AddListViewItem(lvFlieList, str, Color.Black, Color.White);
                goto Label_017C;
            }

            case 1002:
                System.Threading.Thread.Sleep(5);
                goto Label_017C;
            }
            NET_DVR_FindClose(this.iFindfileHandle);
        }
Exemplo n.º 2
0
 public static extern int NET_DVR_FindNextFile(int lFindHandle, ref NET_DVR_FIND_DATA lpFindData);
Exemplo n.º 3
0
        private void FrmRecordPlay_Load(object sender, EventArgs e)
        {
            VideoInfo v = TestDataSource.HikDataSource.GetHikData1();

            CheckForIllegalCrossThreadCalls = false;
            bool bolResult = NET_DVR_Init();//初始化SDK
            NET_DVR_DEVICEINFO_V30 DeviceInfo = new NET_DVR_DEVICEINFO_V30();

            //登录设备
            m_lUserID = NET_DVR_Login_V30(v.DVSAddress, v.DVSConnectPort, v.UserName, v.Password, ref DeviceInfo);
            if (m_lUserID < 0)
            {
                //int iError=NET_DVR_GetLastError();//错误返回值
                MessageBox.Show("设备登录失败,请检查网络或者参数是否错误!");
                return;
            }

            sTime = DateTime.Now.AddDays(-1);
            NET_DVR_TIME Stime = new NET_DVR_TIME();

            Stime.dwYear   = uint.Parse(sTime.Year.ToString());
            Stime.dwMonth  = uint.Parse(sTime.Month.ToString());
            Stime.dwDay    = uint.Parse(sTime.Day.ToString());
            Stime.dwHour   = uint.Parse(sTime.Hour.ToString());
            Stime.dwMinute = uint.Parse(sTime.Minute.ToString());
            Stime.dwSecond = uint.Parse(sTime.Second.ToString());
            eTime          = DateTime.Now.AddDays(1);
            NET_DVR_TIME Etime = new NET_DVR_TIME();

            Etime.dwYear    = uint.Parse(eTime.Year.ToString());
            Etime.dwMonth   = uint.Parse(eTime.Month.ToString());
            Etime.dwDay     = uint.Parse(eTime.Day.ToString());
            Etime.dwHour    = uint.Parse(eTime.Hour.ToString());
            Etime.dwMinute  = uint.Parse(eTime.Minute.ToString());
            Etime.dwSecond  = uint.Parse(eTime.Second.ToString());
            iFindfileHandle = NET_DVR_FindFile(m_lUserID, _iChannel, 0xff, ref Stime, ref Etime);

            if (iFindfileHandle == -1)
            {
                MessageBox.Show("没有电子标签录像文件,请注意");
                return;
            }
            else
            {
            }
            NET_DVR_FIND_DATA FindNextFile = new NET_DVR_FIND_DATA();

Label_017C:
            switch (NET_DVR_FindNextFile(this.iFindfileHandle, ref FindNextFile))
            {
            case 1000:
            {
                string[] str = { FindNextFile.sFileName.ToString() + ".mp4", FindNextFile.dwFileSize.ToString() + "MB" };
                AddListViewItem(lvFlieList, str, Color.Black, Color.White);
                goto Label_017C;
            }

            case 1002:
                System.Threading.Thread.Sleep(5);
                goto Label_017C;
            }
            NET_DVR_FindClose(this.iFindfileHandle);
            m_lPlayHandle = NET_DVR_PlayBackByTime(m_lUserID, _iChannel, ref Stime, ref Etime, pBPlay.Handle);
            if (m_lPlayHandle == -1)
            {
                MessageBox.Show("录像文件回放失败!");
            }
            int lpOutValue = -1;

            // 录像文件播放
            if (!NET_DVR_PlayBackControl(m_lPlayHandle, 1, 0, ref lpOutValue))
            {
                MessageBox.Show("文件播放失败!");
            }
            // 返回文件的总时间
            //NET_DVR_PlayBackControl(m_lPlayHandle, 17, 0, ref totalTime);
            _bytime = true;
        }
Exemplo n.º 4
0
 public static extern int NET_DVR_FindNextFile(int lFindHandle, out NET_DVR_FIND_DATA lpFindData);