public void GetChannelInfoTest1() { PublicClassCurrency.VideoInfo vInfo = TestDataSource.HikDataSource.GetHikData1(); SDK_HikClientSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo = new SDK_HikClientSDK.NET_DVR_DEVICEINFO_V30(); //登录设备 int m_lUserID = SDK_HikClientSDK.NET_DVR_Login_V30(vInfo.DVSAddress, vInfo.DVSConnectPort, vInfo.UserName, vInfo.Password, ref DeviceInfo); List <int> lstReuslt = SDK_HikClientSDK.GetChannelInfo(DeviceInfo, m_lUserID); Assert.AreEqual(lstReuslt.Count, 0); }
public void GetDevChannelInfoTest() { PublicClassCurrency.VideoInfo vInfo = TestDataSource.HikDataSource.GetHikData1(); SDK_HikClientSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo = new SDK_HikClientSDK.NET_DVR_DEVICEINFO_V30(); //登录设备 int m_lUserID = SDK_HikClientSDK.NET_DVR_Login_V30(vInfo.DVSAddress, vInfo.DVSConnectPort, vInfo.UserName, vInfo.Password, ref DeviceInfo); SDK_HikClientSDK.SetDevChannelInfo(ref vInfo, DeviceInfo, m_lUserID); Assert.AreEqual(vInfo.Cameras.Count, 1); }
public void NET_DVR_GetFileByTime_V40Test() { PublicClassCurrency.VideoInfo vInfo = TestDataSource.HikDataSource.GetHikData2(); SDK_HikClientSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo = new SDK_HikClientSDK.NET_DVR_DEVICEINFO_V30(); //登录设备 int m_lUserID = SDK_HikClientSDK.NET_DVR_Login_V30(vInfo.DVSAddress, vInfo.DVSConnectPort, vInfo.UserName, vInfo.Password, ref DeviceInfo); SDK_HikClientSDK.NET_DVR_PLAYCOND struDownPara = new SDK_HikClientSDK.NET_DVR_PLAYCOND(); struDownPara.dwChannel = 1; //通道号 Channel number DateTime timStart = DateTime.Parse("2018-05-31 00:33:01"); struDownPara.struStartTime = ConvertToNetTime(timStart); struDownPara.struStopTime = ConvertToNetTime(timStart.AddSeconds(30)); string sVideoFileName; //录像文件保存路径和文件名 the path and file name to save sVideoFileName = @"C:\SHIKE_Video\9999\\Downtest_Channel" + struDownPara.dwChannel + ".mp4"; //按时间下载 Download by time Int32 m_lDownHandle = SDK_HikClientSDK.NET_DVR_GetFileByTime_V40(m_lUserID, sVideoFileName, ref struDownPara); uint iOutValue = 0; if (SDK_HikClientSDK.NET_DVR_PlayBackControl_V40(m_lDownHandle, SDK_HikClientSDK.NET_DVR_PLAYSTART, IntPtr.Zero, 0, IntPtr.Zero, ref iOutValue)) { bool bolEnd = false; int iPos = 0; while (!bolEnd) { iPos = SDK_HikClientSDK.NET_DVR_GetDownloadPos(m_lDownHandle); if (iPos == 100) { //下载完成 bolEnd = true; } else if (iPos == 200) { //下载异常 bolEnd = true; } Thread.Sleep(50); } } NET_DVR_Logout_V30(m_lUserID); Assert.Fail(); }
public void NET_DVR_FindFile_V40Test() { PublicClassCurrency.VideoInfo vInfo = TestDataSource.HikDataSource.GetHikData1(); SDK_HikClientSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo = new SDK_HikClientSDK.NET_DVR_DEVICEINFO_V30(); //登录设备 int m_lUserID = SDK_HikClientSDK.NET_DVR_Login_V30(vInfo.DVSAddress, vInfo.DVSConnectPort, vInfo.UserName, vInfo.Password, ref DeviceInfo); SDK_HikClientSDK.SetDevChannelInfo(ref vInfo, DeviceInfo, m_lUserID); //CHCNetSDK.NET_DVR_FILECOND_V40 struFileCond_V40 = new CHCNetSDK.NET_DVR_FILECOND_V40(); VideoPlayControl.SDK_HikClientSDK.NET_DVR_FILECOND_V40 struFileCond_V40 = new VideoPlayControl.SDK_HikClientSDK.NET_DVR_FILECOND_V40(); PublicClassCurrency.CameraInfo[] lstC = vInfo.Cameras.Values.ToArray(); struFileCond_V40.lChannel = lstC[0].Channel; struFileCond_V40.dwFileType = 0xff; //0xff-全部,0-定时录像,1-移动侦测,2-报警触发,... struFileCond_V40.dwIsLocked = 0xff; //0-未锁定文件,1-锁定文件,0xff表示所有文件(包括锁定和未锁定) struFileCond_V40.struStartTime = SDK_HikClientSDK.ConvertToNetTime(DateTime.Now.AddDays(-1)); struFileCond_V40.struStopTime = SDK_HikClientSDK.ConvertToNetTime(DateTime.Now); int iFindfileHandle = VideoPlayControl.SDK_HikClientSDK.NET_DVR_FindFile_V40(m_lUserID, ref struFileCond_V40); Assert.AreEqual(iFindfileHandle, 0); }
public void NET_DVR_FindPictureTest() { PublicClassCurrency.VideoInfo vInfo = TestDataSource.HikDataSource.GetHikData2(); SDK_HikClientSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo = new SDK_HikClientSDK.NET_DVR_DEVICEINFO_V30(); //登录设备 int m_lUserID = SDK_HikClientSDK.NET_DVR_Login_V30(vInfo.DVSAddress, vInfo.DVSConnectPort, vInfo.UserName, vInfo.Password, ref DeviceInfo); NET_DVR_FIND_PICTURE_PARAM para = new NET_DVR_FIND_PICTURE_PARAM(); para.dwSize = (uint)Marshal.SizeOf(para); para.lChannel = 1; para.byFileType = 0; DateTime tim = DateTime.Parse("2018-05-30 21:41:30"); //DateTime timStart = DateTime.Now.AddSeconds(-70); DateTime timStart = tim.AddSeconds(-70); SDK_HikClientSDK.NET_DVR_TIME Stime = new SDK_HikClientSDK.NET_DVR_TIME(); Stime.dwYear = uint.Parse(timStart.Year.ToString()); Stime.dwMonth = uint.Parse(timStart.Month.ToString()); Stime.dwDay = uint.Parse(timStart.Day.ToString()); Stime.dwHour = uint.Parse(timStart.Hour.ToString()); Stime.dwMinute = uint.Parse(timStart.Minute.ToString()); Stime.dwSecond = uint.Parse(timStart.Second.ToString()); para.struStartTime = Stime; //DateTime timEnd = DateTime.Now.AddSeconds(-60); DateTime timEnd = tim.AddSeconds(-60); SDK_HikClientSDK.NET_DVR_TIME Etime = new SDK_HikClientSDK.NET_DVR_TIME(); Etime.dwYear = uint.Parse(timEnd.Year.ToString()); Etime.dwMonth = uint.Parse(timEnd.Month.ToString()); Etime.dwDay = uint.Parse(timEnd.Day.ToString()); Etime.dwHour = uint.Parse(timEnd.Hour.ToString()); Etime.dwMinute = uint.Parse(timEnd.Minute.ToString()); Etime.dwSecond = uint.Parse(timEnd.Second.ToString()); para.struStopTime = Etime; int lFindHandle = SDK_HikClientSDK.NET_DVR_FindPicture(m_lUserID, ref para); NET_DVR_FIND_PICTURE lpFindData = new NET_DVR_FIND_PICTURE(); bool bolEnd = false; string strPath = @"C:\SHIKE_Video\9999\Pic"; int Temp_intCount = 1; DateTime Temp_tim = DateTime.Now.AddYears(-10); while (!bolEnd) { long lResult = NET_DVR_FindNextPicture(lFindHandle, ref lpFindData); switch (lResult) { case 1000: //下载图片 NET_DVR_TIME t = lpFindData.struTime; StringBuilder sb = new StringBuilder(); DateTime timPic = ConvertToDateTime(lpFindData.struTime); if (Temp_tim == timPic) { Temp_intCount++; } else { Temp_tim = timPic; Temp_intCount = 1; } string strFileName = lpFindData.sFileName; sb.Append(timPic.ToString("yyyyMMddHHmmss") + "_" + Temp_intCount + "_"); sb.Append(strFileName.Substring(0, strFileName.IndexOf("_"))); string strFilePath = strPath + "\\" + sb.ToString() + ".jpg"; NET_DVR_GetPicture(m_lUserID, lpFindData.sFileName, strFilePath); Thread.Sleep(30); break; case 1002: Thread.Sleep(30); break; case 1001: //未查找到 case 1003: //查找结束 case 1004: //查找文件异常 bolEnd = true; NET_DVR_CloseFindPicture(lFindHandle); break; } } //Thread.Sleep(5000); Assert.Fail(); }