| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Windows.Forms;
- namespace Core.StlMes.Client.LgResMgt.Mcms
- {
- /// <summary>
- /// 海康摄像头截图
- /// </summary>
- public class DhCameraShot
- {
- public DhCameraShot()
- {
- _dvr = new HkDvr();
- }
- private HkDvr _dvr;
- bool ret = false;
- public string ip { get; set; }
- public string port { get; set; }
- public string uid { get; set; }
- public string pwd { get; set; }
- /// <summary>
- /// 连接设备
- /// </summary>
- /// <param name="Ip">IP地址</param>
- /// <param name="Port">端口</param>
- /// <param name="Uid">用户名</param>
- /// <param name="Pwd">密码</param>
- public void Connection()
- {
- if (_dvr.UserId < 0)
- {
- //IP,PORT,UID,PWD
- ret = _dvr.Init(ip + "," + port + "," + uid + "," + pwd);
- ret = _dvr.Open();
- }
- }
- private bool startTalk = false;
- /// <summary>
- /// 打开对讲
- /// </summary>
- /// <returns></returns>
- //public bool StartTalk()
- //{
- // if (_dvr.UserId > -1 && !startTalk)
- // {
- // _dvr.StartTalk();
- // startTalk = true;
- // }
- // return true;
- //}
- /// <summary>
- /// 关闭对讲
- /// </summary>
- /// <returns></returns>
- public bool StopTalk()
- {
- if (_dvr.UserId > -1 && startTalk)
- {
- // _dvr.StopTalk();
- startTalk = false;
- return true;
- }
- return true;
- }
- /// <summary>
- /// 关闭视频
- /// </summary>
- public void Close()
- {
- if (_dvr.UserId > -1)
- {
- _dvr.Close();
- }
- }
- public void RealPlay(PictureBox picture, int i)
- {
- if (_dvr.UserId > -1)
- {
- _dvr.RealPlay(i, picture.Handle);
- }
- }
- public void StopRealPlay(int i)
- {
- if (_dvr.UserId > -1)
- {
- _dvr.StopRealPlay(i);
- }
- }
- /// <summary>
- /// 截图
- /// </summary>
- /// <param name="filePath">文件存储位置及文件名称,文件名称应该是 计量作业编号_计量点_第几张 or 计量作业编号_第几张</param>
- /// <returns>是否截图成功,true成功,false失败,异常的话会在logs中写入信息</returns>
- //public bool CapPic(int channel, string filePath)
- //{
- // // return _dvr.CapturePicture((uint)channel, 1, filePath);//默认为一般摄像头
- // //_dvr.CapturePicture(1, 1, filePath);
- // //_dvr.CapturePicture(1, 2, filePath.Substring(0, filePath.Length - 5) + "2.jpg");
- // //_dvr.CapturePicture(1, 3, filePath.Substring(0, filePath.Length - 5) + "3.jpg");
- // //_dvr.CapturePicture(1, 4, filePath.Substring(0, filePath.Length - 5) + "4.jpg");
- // //_dvr.CapturePicture(1, 5, filePath.Substring(0, filePath.Length - 5) + "5.jpg");
- // //_dvr.CapturePicture(1, 6, filePath.Substring(0, filePath.Length - 5) + "6.jpg");
- // //return true;
- //}
- public bool CapPicFromVedio(uint chanel, string filePath)
- {
- try
- {
- return _dvr.CapturePicture(chanel, filePath + chanel + ".jpg");
- }
- catch (Exception)
- {
- return false;
- }
- }
- /// <summary>
- /// 硬盘录像机截图
- /// </summary>
- /// <param name="filePath"></param>
- /// <returns></returns>
- Thread th;
- public bool CapPicFromVedio(string filePath)
- {
- th = new Thread(new ParameterizedThreadStart(CapPicFromVed));
- th.Start(filePath);
- return true;
- }
-
-
- void CapPicFromVed(object filePath)
- {
- try
- {
- bool a1 = _dvr.CapturePicture(1, filePath + "1.jpg");
- bool a2 = _dvr.CapturePicture(2, filePath + "2.jpg");
- bool a3 = _dvr.CapturePicture(3, filePath + "3.jpg");
- bool a4 = _dvr.CapturePicture(4, filePath + "4.jpg");
- //bool a5 = _dvr.CapturePicture(5, filePath + "5.jpg");
- //bool a6 = _dvr.CapturePicture(6, filePath + "6.jpg");
-
- }
- catch (Exception)
- {
-
- }
- CHCNetSDK.NET_DVR_GetLastError();
- }
- public bool PlayMusic(string path )
- {
- return _dvr.G711VoiceCom(path);
- // return _dvr.SendVoiceData(path);
- }
- }
- }
|