CAMERA V1

This commit is contained in:
2025-09-11 20:29:17 +08:00
parent c7165f0dc5
commit ccbe0f626f
135 changed files with 26211 additions and 182 deletions

209
FATrace.OEMApp/MainApp.cs Normal file
View 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();
}
}
}
}