C# 海康DVR客户端开发系列(2)—— 封装API (1)
更新
本文会随着后续实践文章有相应的改动,请及时更新!
2010-12-21 HCNetSDK2010-12-21.rar
主要更新了SerialDataCallBack委托的pRecvDataBuffer参数数据类型,由string改为byte[],这里感谢badnewfish实践后指出,欢迎大家积极反馈!
2009-10-31 HCNetSDK2009-10-31.rar
主要更新了大部分结构体中byte[]初始大小指定,加上了[MarshalAs(UnmanagedType.ByValArray, SizeConst = HCNetSDK.SERIALNO_LEN)]类似的标记。
2009-10-24 HCNetSDK.cs
正文
一、代码截图
VS
二、 部分代码
由于代码过长(超过1W行),这里就不贴全部了,大家直接在更新下面下载最新的SDK即可。
/// </summary>
public const int NET_DVR_SETSPEED = 24;
/// <summary>
/// 保持与设备的心跳(如果回调阻塞,建议2秒发送一次)
/// </summary>
public const int NET_DVR_KEEPALIVE = 25;
//远程按键定义如下:
/* key value send to CONFIG program */
public const int KEY_CODE_1 = 1;
public const int KEY_CODE_2 = 2;
public const int KEY_CODE_3 = 3;
public const int KEY_CODE_4 = 4;
public const int KEY_CODE_5 = 5;
public const int KEY_CODE_6 = 6;
public const int KEY_CODE_7 = 7;
public const int KEY_CODE_8 = 8;
public const int KEY_CODE_9 = 9;
public const int KEY_CODE_0 = 10;
public const int KEY_CODE_POWER = 11;
public const int KEY_CODE_MENU = 12;
public const int KEY_CODE_ENTER = 13;
public const int KEY_CODE_CANCEL = 14;
public const int KEY_CODE_UP = 15;
public const int KEY_CODE_DOWN = 16;
public const int KEY_CODE_LEFT = 17;
public const int KEY_CODE_RIGHT = 18;
public const int KEY_CODE_EDIT = 19;
public const int KEY_CODE_ADD = 20;
public const int KEY_CODE_MINUS = 21;
public const int KEY_CODE_PLAY = 22;
public const int KEY_CODE_REC = 23;
public const int KEY_CODE_PAN = 24;
public const int KEY_CODE_M = 25;
public const int KEY_CODE_A = 26;
public const int KEY_CODE_F1 = 27;
public const int KEY_CODE_F2 = 28;
/* for PTZ control */
public const int KEY_PTZ_UP_START = KEY_CODE_UP;
public const int KEY_PTZ_UP_STOP = 32;
public const int KEY_PTZ_DOWN_START = KEY_CODE_DOWN;
public const int KEY_PTZ_DOWN_STOP = 33;
public const int KEY_PTZ_LEFT_START = KEY_CODE_LEFT;
public const int KEY_PTZ_LEFT_STOP = 34;
public const int KEY_PTZ_RIGHT_START = KEY_CODE_RIGHT;
public const int KEY_PTZ_RIGHT_STOP = 35;
/// <summary>
/// 光圈+
/// </summary>
public const int KEY_PTZ_AP1_START = KEY_CODE_EDIT; /* 光圈+ */
public const int KEY_PTZ_AP1_STOP = 36;
/// <summary>
/// 光圈-
/// </summary>
public const int KEY_PTZ_AP2_START = KEY_CODE_PAN; /* 光圈- */
public const int KEY_PTZ_AP2_STOP = 37;
/// <summary>
/// 聚焦+
/// </summary>
public const int KEY_PTZ_FOCUS1_START = KEY_CODE_A; /* 聚焦+ */
public const int KEY_PTZ_FOCUS1_STOP = 38;
/// <summary>
/// 聚焦-
/// </summary>
public const int KEY_PTZ_FOCUS2_START = KEY_CODE_M;/* 聚焦- */
public const int KEY_PTZ_FOCUS2_STOP = 39;
/// <summary>
/// 变倍+
/// </summary>
public const int KEY_PTZ_B1_START = 40; /* 变倍+ */
public const int KEY_PTZ_B1_STOP = 41;
/// <summary>
/// 变倍-
/// </summary>
public const int KEY_PTZ_B2_START = 42; /* 变倍- */
public const int KEY_PTZ_B2_STOP = 43;
//9000新增
public const int KEY_CODE_11 = 44;
public const int KEY_CODE_12 = 45;
public const int KEY_CODE_13 = 46;
public const int KEY_CODE_14 = 47;
public const int KEY_CODE_15 = 48;
public const int KEY_CODE_16 = 49;
/// <summary>
/// 获取网络应用参数 EMAIL
/// </summary>
public const int NET_DVR_GET_EMAILCFG = 228;//
/// <summary>
/// 设置网络应用参数 EMAIL
/// </summary>
public const int NET_DVR_SET_EMAILCFG = 229; //
//对应NET_DVR_EMAILCFG结构
//
public const int NET_DVR_GET_ALLHDCFG = 300; //
#region DS9000新增命令(_V30)
//设备编码类型配置(NET_DVR_COMPRESSION_AUDIO结构)
/// <summary>
/// 获取设备语音对讲编码参数
/// </summary>
public const int NET_DVR_GET_COMPRESSCFG_AUD = 1058; //
/// <summary>
/// 设置设备语音对讲编码参数
/// </summary>
public const int NET_DVR_SET_COMPRESSCFG_AUD = 1059; //
#endregion
/// <summary>
/// 预览异常
/// </summary>
public const int NET_DVR_REALPLAYEXCEPTION = 111;//
/// <summary>
/// 预览时连接断开
/// </summary>
public const int NET_DVR_REALPLAYNETCLOSE = 112;//
/// <summary>
/// 预览5s没有收到数据
/// </summary>
public const int NET_DVR_REALPLAY5SNODATA = 113; //
/// <summary>
/// 预览重连
/// </summary>
public const int NET_DVR_REALPLAYRECONNECT = 114; //
/// <summary>
/// 回放数据播放完毕
/// </summary>
public const int NET_DVR_PLAYBACKOVER = 101;//
/// <summary>
/// 回放异常
/// </summary>
public const int NET_DVR_PLAYBACKEXCEPTION = 102;//
/// <summary>
/// 回放时候连接断开
/// </summary>
public const int NET_DVR_PLAYBACKNETCLOSE = 103;//
/// <summary>
/// 回放5s没有收到数据
/// </summary>
public const int NET_DVR_PLAYBACK5SNODATA = 104;
#region DS-6001D/F
/// <summary>
/// DS-6001D Decoder
/// NET_DVR_DECODERINFO, *LPNET_DVR_DECODERINFO;
/// </summary>
public struct NET_DVR_DECODERINFO
{
/// <summary>
/// 解码设备连接的服务器IP
/// public byte byEncoderIP[16];
/// </summary>
public byte[] byEncoderIP;
/// <summary>
/// 解码设备连接的服务器的用户名
/// public byte byEncoderUser[16];
/// </summary>
public byte[] byEncoderUser;
/// <summary>
/// 解码设备连接的服务器的密码
/// public byte byEncoderPasswd[16];
/// </summary>
public byte[] byEncoderPasswd;
/// <summary>
/// 解码设备连接服务器的连接模式
C# 海康DVR客户端开发系列(2)—— 封装API (1)相关推荐
- C# 海康DVR客户端开发系列(2)—— 封装API
前言 从上篇文章(10月4日)到本篇文章截止到今天(10月22日)一直在做这个SDK翻译工作,耗时2周半,代码超过1万行,约有三分之二的行数是注释.由于工作忙也只能一天抽出那么半个小时一个小时来整理, ...
- C# 海康DVR客户端开发系列(3)—— 连接DVR和图像预览
前言 一直没有稳定的DVS供我测试用,朋友那边也是频频宕掉,所以延误至今,所幸还是出来了.此外非常遗憾的是没能用WPF实践成功,关键是IntPtr句柄设置不对,没法显示出来,为了保证进度也只好暂时放弃 ...
- C# 海康DVR客户端开发系列(1)—— 准备
一.理论知识 硬盘录像机(DigitalVideoRecorder,DVR),即数字视频录像机,相对于传统的模拟视频录像机,采用硬盘录像,故常常被称为硬盘录像 机,也被称为DVR.它是一套进行图像存储 ...
- 通过c#访问海康DVR
利用海康提供的网络sdk,采用P/Invoke的方式可以实现访问海康DVR的各种功能. 下面是采用C#进行sdk封装的方法和结构体. 源代码地址:http://download.csdn.net/so ...
- 海康DVR DS-6708HW RTSP url格式笔记
海康DVR DS-6708HW RTSP 流地址格式: rtsp://admin:admin@192.168.1.5:554/Streaming/Channels/101 用户名:密码@ip:端口/S ...
- 海康DVR设备监控程序编制要点
海康DVR设备监控程序编制要点 2015.05.02 近日,我编写的"海康DVR设备监控程序"已经成功上线运行了,通过几天来的运行发现达到了预想的功能: 1.每天扫描一次DVR设备 ...
- 海康DVR远程监控设置重点参数
1. 帧类型:包括I帧.P帧和B帧.其中I帧为关键帧,一帧就是一幅完整画面,P帧为帧间预测编码帧,需要参考前面的I帧或P帧的不同部分才能进行组成一幅完整画面,B帧为双向预测编码帧,需要同 ...
- 海康工业相机 C# 开发示例
一.学习资料 1.官网下载安装MVS软件. 2.文件资料路径:C:\Program Files (x86)\MVS\Development\Documentations 3.引用的DLL路径:C:\P ...
- openresty开发系列11--openresty的api入门
openresty开发系列11--openresty的api入门 1)ngx_lua模块的hello world 编辑nginx下conf配置文件nginx.conf # vi nginx.conf ...
最新文章
- 画蛇添足:四条管脚的电位器
- 同时开左右两个SAPGUI编辑器显示同一段ABAP代码
- boost::geometry模块Linestring多边形叠加示例
- 【转】回调函数,函数指针与函数对象
- 《Python Cookbook 3rd》笔记(2.2):字符串开头或结尾匹配
- IDEA 启动报错could not find main class com/intellij/idea/main解决办法
- Poj1995--Raising Modulo Numbers(快速幂)
- SecureCRT登录本地cygwin。
- xcode swift_CocoaPods Swift XCode教程
- 【渝粤教育】国家开放大学2018年春季 0408-21T管理学基础 参考试题
- Linux中select函数学习及实例笔记
- 最小 的浏览器 界面最精简 大小只有 压缩后只有7K 多
- js 中 clientHeight、scrollHeight 等获取的高度的区别和使用
- P2825 [HEOI2016/TJOI2016]游戏 (二分图最大匹配,预处理)
- 用计算机教学体育,体育教学中计算机的应用
- 渗透测试-弱点扫描工具
- easyUI1.7学习第一天_menu表单
- 深度linux软件中心 qq,ubuntu上安装QQ(包括多个软件安装方法)
- 系统并发量及常见性能指标
- Ride测试用例报 Suite xxxx contains no tests matching name
热门文章
- php5.5 pdo mysql_PHP5中PDO的简单使用
- python在web可以开发吗_怎么用python进行web开发
- 比较两个日期oracle,在oracledb中比较两个日期并不能得到正确的结果
- 20210101:力扣第42周双周赛(上)
- java生成world文件_Hello World 项目创建与项目配置文件介绍
- 网关屏蔽mac地址,linux下修改mac地址方法
- 吴恩达二月升级当爸,Jeff Dean打趣:无监督学习要开始了,需要数据集么?
- 又有无人车数据集开源,2019段加州通勤小视频等你撩 | 资源
- 又一中科院AI创业公司浮出水面,刚拿下AIC挑战赛视觉感知冠军
- 7天速成、免费学习,这套Python入门课我收藏了丨资源帖