CAMERA V1
This commit is contained in:
209
FATrace.OEMApp/MainApp.cs
Normal file
209
FATrace.OEMApp/MainApp.cs
Normal file
@@ -0,0 +1,209 @@
|
||||
using FATrace.HKNetLib.Hardware;
|
||||
using FATrace.HKNetLib.Wrapper;
|
||||
using ReaLTaiizor.Forms;
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace FATrace.OEMApp
|
||||
{
|
||||
public partial class MainApp : MaterialForm
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 海康Camera 客户端
|
||||
/// </summary>
|
||||
public HkCamera HkCameraClient { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 通道集合
|
||||
/// </summary>
|
||||
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 96, ArraySubType = UnmanagedType.U4)]
|
||||
private int[] iChannelNum;
|
||||
|
||||
public MainApp()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void MainApp_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
HkCameraClient = new HkCamera();
|
||||
//保存SDK日志
|
||||
CHCNetSDK.NET_DVR_SetLogToFile(3, "C:\\SdkLog\\", true);
|
||||
iChannelNum = new int[96];
|
||||
|
||||
try
|
||||
{
|
||||
var systemName = Program.SystemName;
|
||||
var authText = Program.IsActive ? "(已授权)" : "(未授权)";
|
||||
this.Text = string.IsNullOrWhiteSpace(systemName)
|
||||
? $"添加剂追溯系统 {authText}"
|
||||
: $"{systemName} {authText}";
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// 安静失败,不影响主界面显示
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show($"初始化界面失败: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
private void btnNVRLogin_Click(object sender, EventArgs e)
|
||||
{
|
||||
//var Result = HkCameraClient.Login(new CameraLoginInfo()
|
||||
//{
|
||||
// IP = "192.168.1.168",
|
||||
// Port = 8000,
|
||||
// UserName = "admin",
|
||||
// Password = "glico@2025",
|
||||
//});
|
||||
|
||||
//if (Result)
|
||||
//{
|
||||
// MessageBox.Show("登录成功");
|
||||
// return;
|
||||
//}
|
||||
//MessageBox.Show("登录失败");
|
||||
|
||||
var result = HkCameraClient.Sdk_NET_DVR_Login_V30("192.168.1.168", 8000, "admin", "glico@2025");
|
||||
if (result)
|
||||
{
|
||||
MessageBox.Show("登录成功");
|
||||
return;
|
||||
}
|
||||
MessageBox.Show($"登录失败:{HkCameraClient.LastMsgErr}");
|
||||
return;
|
||||
}
|
||||
|
||||
private void btnLoadVideo_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
var Result = HkCameraClient.Sdk_NET_DVR_GetFileByTime_V40(DateTime.Now.AddMinutes(-5), DateTime.Now, $"D:\\Downtest_Channel{DateTime.Now.ToString("yyyy-MM-dd HHmmss")}.mp4");
|
||||
if (Result.Result)
|
||||
{
|
||||
DownTimer.Interval = 2000;
|
||||
DownTimer.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show($"[Sdk_NET_DVR_GetFileByTime_V40] 执行失败:{Result.Msg}");
|
||||
}
|
||||
|
||||
|
||||
//btnStopDownload.Enabled = true;
|
||||
}
|
||||
|
||||
private void btnDownloadName_Click(object sender, EventArgs e)
|
||||
{
|
||||
//if (m_lDownHandle >= 0)
|
||||
//{
|
||||
// MessageBox.Show("Downloading, please stop firstly!");//正在下载,请先停止下载
|
||||
// return;
|
||||
//}
|
||||
|
||||
//string sVideoFileName; //录像文件保存路径和文件名 the path and file name to save
|
||||
//sVideoFileName = "D:\\Downtest1111_" + sPlayBackFileName + ".mp4";
|
||||
|
||||
////按文件名下载 Download by file name
|
||||
//m_lDownHandle = CHCNetSDK.NET_DVR_GetFileByName(m_lUserID, sPlayBackFileName, sVideoFileName);
|
||||
//if (m_lDownHandle < 0)
|
||||
//{
|
||||
// iLastErr = CHCNetSDK.NET_DVR_GetLastError();
|
||||
// str = "NET_DVR_GetFileByName failed, error code= " + iLastErr;
|
||||
// MessageBox.Show(str);
|
||||
// return;
|
||||
//}
|
||||
|
||||
//uint iOutValue = 0;
|
||||
|
||||
////设置转封装格式
|
||||
////UInt32 iInValue = 5;
|
||||
////IntPtr lpInValue = Marshal.AllocHGlobal(4);
|
||||
////Marshal.StructureToPtr(iInValue, lpInValue, false);
|
||||
|
||||
////if (!CHCNetSDK.NET_DVR_PlayBackControl_V40(m_lDownHandle, CHCNetSDK.NET_DVR_SET_TRANS_TYPE, lpInValue, 4, IntPtr.Zero, ref iOutValue))
|
||||
////{
|
||||
//// iLastErr = CHCNetSDK.NET_DVR_GetLastError();
|
||||
//// str = "NET_DVR_PLAYSTART failed, error code= " + iLastErr; //下载控制失败,输出错误号
|
||||
//// MessageBox.Show(str);
|
||||
//// return;
|
||||
////}
|
||||
|
||||
//if (!CHCNetSDK.NET_DVR_PlayBackControl_V40(m_lDownHandle, CHCNetSDK.NET_DVR_PLAYSTART, IntPtr.Zero, 0, IntPtr.Zero, ref iOutValue))
|
||||
//{
|
||||
// iLastErr = CHCNetSDK.NET_DVR_GetLastError();
|
||||
// str = "NET_DVR_PLAYSTART failed, error code= " + iLastErr; //下载控制失败,输出错误号
|
||||
// MessageBox.Show(str);
|
||||
// return;
|
||||
//}
|
||||
//timerDownload.Interval = 1000;
|
||||
//timerDownload.Enabled = true;
|
||||
//btnStopDownload.Enabled = true;
|
||||
}
|
||||
|
||||
private void btnStopLoadVideo_Click(object sender, EventArgs e)
|
||||
{
|
||||
//if (m_lDownHandle < 0)
|
||||
//{
|
||||
// return;
|
||||
//}
|
||||
|
||||
//if (!CHCNetSDK.NET_DVR_StopGetFile(m_lDownHandle))
|
||||
//{
|
||||
// iLastErr = CHCNetSDK.NET_DVR_GetLastError();
|
||||
// str = "NET_DVR_StopGetFile failed, error code= " + iLastErr; //下载控制失败,输出错误号
|
||||
// MessageBox.Show(str);
|
||||
// return;
|
||||
//}
|
||||
|
||||
//timerDownload.Stop();
|
||||
|
||||
//MessageBox.Show("The downloading has been stopped succesfully!");
|
||||
//m_lDownHandle = -1;
|
||||
//DownloadProgressBar.Value = 0;
|
||||
//btnStopDownload.Enabled = true;
|
||||
}
|
||||
|
||||
private void DownTimer_Tick(object sender, EventArgs e)
|
||||
{
|
||||
DownloadProgressBar.Maximum = 100;
|
||||
DownloadProgressBar.Minimum = 0;
|
||||
|
||||
int iPos = 0;
|
||||
|
||||
//获取下载进度
|
||||
iPos = HkCameraClient.Sdk_NET_DVR_GetDownloadPos(HkCameraClient.m_lDownHandle);
|
||||
|
||||
if ((iPos > DownloadProgressBar.Minimum) && (iPos < DownloadProgressBar.Maximum))
|
||||
{
|
||||
DownloadProgressBar.Value = iPos;
|
||||
}
|
||||
|
||||
if (iPos == 100) //下载完成
|
||||
{
|
||||
DownloadProgressBar.Value = iPos;
|
||||
if (!CHCNetSDK.NET_DVR_StopGetFile(HkCameraClient.m_lDownHandle))
|
||||
{
|
||||
MessageBox.Show($"[NET_DVR_StopGetFile] 执行失败:{HkCameraClient.GetLastError()}");
|
||||
return;
|
||||
}
|
||||
HkCameraClient.m_lDownHandle = -1;
|
||||
DownTimer.Stop();
|
||||
}
|
||||
|
||||
if (iPos == 200) //网络异常,下载失败
|
||||
{
|
||||
MessageBox.Show("The downloading is abnormal for the abnormal network!");
|
||||
DownTimer.Stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user