1.构造函数

构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。

2.Public int Id{get;set;}含义

公有成员变量定义,后边的get,set是默认的方法的简写。默认方法为:

Public int ID{get {return id;}set {id = value;} }

3.C#线程(一)概述及常用方法

C#线程(一)概述及常用方法_subin_iecas的博客-CSDN博客_c# 线程4

4.从textbox中读取IP地址。

struLogInfo = new CHCNetSDK.NET_DVR_USER_LOGIN_INFO();

//设备IP地址或者域名
         byte[] byIP = System.Text.Encoding.Default.GetBytes(textBoxIP.Text);
         struLogInfo.sDeviceAddress = new byte[129];
         byIP.CopyTo(struLogInfo.sDeviceAddress, 0);

调用了CHCNetSDK文件中的结构函数NET_DVR_USER_LOGIN_INFO。

byte[] Encoding.GetBytes(string s):在派生类中重写时,将指定字符串中的所有字符编码为一个字节序列,返回一个字节数组。对应using System.Text。

将byIP一维数组中的所有元素复制到struLogInfo.sDeviceAddress中,从struLogInfo.sDeviceAddress的第零位开始。

IP地址、用户名和密码因为是字符串类型,都是这样子的赋值给调用的函数中的变量的。

端口号不同:

struLogInfo.wPort = ushort.Parse(textBoxPort.Text);//设备服务端口号

ushour:16位无符号整数。

ushort.Parse(string s) :将数字的字符串表示形式转换为它的等效16位无符号整数。

5.登录设备
     m_lUserID = CHCNetSDK.NET_DVR_Login_V40(ref struLogInfo, ref DeviceInfo);

m_lUserID 作为设备是否成功登录的标志变量,一开始的值为-1,在该语句失败时,CHCNetSDK.NET_DVR_Login_V40仍会返回-1,若成功,则返回用户ID信息,即DeviceInfo

使m_IUserID的值不为零,以进行接下来的语句。

CHCNetSDK.NET_DVR_Login_V40为调用的HCNetSDK.dll文件中的方法,需要输入设备IP、设备端口号、用户名、密码,即运用struLogInfo调用函数定义的变量。

6.预览实现

if (m_lRealHandle < 0)
    {
      CHCNetSDK.NET_DVR_PREVIEWINFO lpPreviewInfo = new CHCNetSDK.NET_DVR_PREVIEWINFO();
       IpPreviewInfo.hPlayWnd = RealPlayWnd.Handle;//预览窗口
       IpPreviewInfo.lChannel = Int16.Parse(textBoxChannel.Text)

与用户登录定义方式相似,调用CHCNeSDK中的结构函数NET_DVR_PREVIEWINFO来定义变量,该结构函数的变量是之后调用dll文件中的方法的关键。

IntPtr pUser = new IntPtr();//用户数据,IntPtr用于表示指针或句柄的平台特定类型。

//打开预览 Start live view
     m_lRealHandle = CHCNetSDK.NET_DVR_RealPlay_V40(m_lUserID, ref lpPreviewInfo, null/*RealData*/, pUser);

调用dll文件中的NET_DVR_RealPlay_V40函数,需要输入用户ID信息m_lUserID,预览参数设置lpPreviewInfo,码流数据回调函数和pUser用户数据(?)
     if (m_lRealHandle < 0)
         {
           iLastErr = CHCNetSDK.NET_DVR_GetLastError();
           str = "NET_DVR_RealPlay_V40 failed, error code= " + iLastErr; //预览失败,输出错误号
           MessageBox.Show(str);
           return;
          }
          else
            {
                //预览成功
                Preview.Text = "Stop Live View";
              }

【无标题】关于摄像头的学习相关推荐

  1. 【无标题】C++课程学习笔记(南科大于仕琪老师)

    这几天我突然想写CSDN了,前段时间我打开了我的CSDN,发现我其实只写了3篇文章,其实写CSDN是一个好习惯,我之前这么多年都没有发现这个好习惯,现在我要求自己只有有所心得就应该写下来,一方面与大家 ...

  2. python数据标准化1002无标题,Scikit标准化互信息学习给我错误的值

    我是Python新手,我试图看到两个不同信号之间的标准化互信息,不管我使用什么信号,我得到的结果总是1,我认为这是不可能的,因为信号是不同的,不是完全相关的. 我使用的是Normalized Mutu ...

  3. 《强化学习周刊》第25期:DeepMind提出无模型风险敏感强化学习、谷歌发布 RLDS数据集生态系统...

    No.25 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...

  4. 机器学习的五大分类,监督学习 无监督学习 半监督学习 迁移学习 增强学习

    机器学习的五大分类,监督学习 无监督学习 半监督学习 迁移学习 增强学习@监督学习 无监督学习 半监督学习 监督学习 在监督学习中,给定一组数据,我们知道正确的输出结果应该是什么样子,并且知道在输入和 ...

  5. 关于WM_NCHITTEST消息(移动无标题对话框多个)

    我为了移动一个无标题栏的窗体,使用了WM_NCHITTEST消息,这个消息大概如下: 通常,我们拖动对话框窗口的标题栏来移动窗口,但有时候,我们想通过鼠标在客户区上拖动来移动窗口. 一个容易想到的方案 ...

  6. mysql输入命令1002无标题_Linux下远程连接MySQL数据库的方法

    步骤 1.在服务器端开启远程访问 首先进入mysql数据库,然后输入下面两个命令: grant all privileges on *.* to 'root'@'%' identified by 'p ...

  7. C# 系统应用之无标题窗体移动的两种方法

    在做项目界面设计中,常常为了美观需要设置窗体属性"FormBorderStyle"(窗体边框和标题栏外观)为None无标题窗口.此时隐藏标题的窗口怎样实现移动呢?我根据自己的项目从 ...

  8. Android 置Activity全屏和无标题

    今天,实在没有什么好些写的内容,所以在网上找了很久,才决定写这个博客.比较简单,还是想保持写博客的习惯. 一.在代码里设置全屏. Activity设置全屏和无标题栏,要用到andorid.view.W ...

  9. ActionBarActivity设置全屏无标题

    新建的Activity继承自ActionBarActivity,设置全屏无标题本来非常easy的事,可是没想到app居然无缘无故的挂,要么就是白屏一片,要么就是黑屏.坑了我一个多小时.!! 原因是Ac ...

  10. 阿里 深度学习推理框架_如何通过Knative无服务器框架构建深度学习推理

    阿里 深度学习推理框架 在某些学术界和行业界,深度学习正在获得巨大的动力. 推理(基于预训练模型从现实世界数据中检索信息的能力)是深度学习应用程序的核心. 深度学习推理可用于在图像到达对象存储时对其进 ...

最新文章

  1. 20180517早课记录12-Hadoop
  2. flume bucketpath的bug一例
  3. 实现点击下载文件的几种方法
  4. 每日一皮:第一次用CSS的时候,我震惊了...
  5. 主流html5桌面应用开发,主流HTML5开发工具推荐
  6. Comet---“服务器推”技术实现
  7. C# 8 的新提案:new 关键字类型推断
  8. 11g大对象数据新技术
  9. 蓝桥杯ADV-172 算法提高 身份证排序
  10. CRM 2013 中业务流程的
  11. 【JavaScript 插件】实现图片倒影效果 - reflex.js
  12. 哈工大车万翔团队:口语语言理解的最新进展与前沿
  13. 【微软雅黑字体的简单介绍】
  14. OMAPL138的DSPLINK开发入门
  15. 英文版win10如何全屏玩英文版warcraft3
  16. Machine Learning系列--L0、L1、L2范数
  17. 你感受过VR视频故事线吗?适用于哪些方面?
  18. vue如何把值放入数组里面去_vue的数组如何存储数据
  19. 关于spring的aop的xml和注解操作
  20. 你的计算机无法访问网络设置,局域网无法访问其他计算机怎么办

热门文章

  1. AI识别抑郁症正确率高达八成,但AI+精神健康还有很长的路要走
  2. 反病毒利器Autoruns和ProcessExplorer, SREng - 本人推荐使用的查毒杀毒辅助工具
  3. android 平板版 office,Android平板版Office评测:界面繁杂影响用户体验
  4. c语言visit函数作用,Visit
  5. unity 摄像机镜头跟随鼠标拖拽
  6. Consumer接口和Supplier接口
  7. 【1+X Web前端等级考证 】 | Web前端开发中级理论 (附答案)
  8. 据说最厉害的黑客,出自少林寺、这是为什么?
  9. C6678里的汇编语言,TMS320C6678
  10. 常用LINUX命令汇总