最近在做和公司监控设备有关的项目,要求将所有的监控画面调出来,而监控探头一共24个。如果将24个画面平铺起来,还不能太小,画面会不清晰,那得多大一个屏幕,同时平铺的画面查看也不方便,这不符合简约人性化的产品设计原则,于是最后采取的是下拉框切换的方式,听起来很简单,但是实现起来遇到了没想象到的情况:

这个项目开发采用的是大华SDK,显示监控画面采用的是绑定PictureBox控件句柄的方式

 m_PlayID2 = NETClient.RealPlay(m_LoginID, 0, pictureBox3.Handle);

其中0是通道号,公司24个探头的通道号对应0~23,通过改变通道号显示对应的画面。
于是给每个探头封装了一个显示的方法,想要再通过switch case语句,结合下拉框,切换到不同的画面……接下来遇到了第一个异常:

        #region 监视摄像内容切换方法public void Monitor0(){m_PlayID2 = NETClient.RealPlay(m_LoginID, 0, pictureBox3.Handle);}

写好之后画面并没有想象中切换地顺利,而是当前画面和切换画面一直频闪,瞬间让人觉得很不可思议,思考片刻,明白了其中的缘由:
显示画面的picturebox控件好比一个容器,被当前容器里的画面占满,画面驻守在容器里努力发挥着他的使命。当点击切换下拉框,调用其他画面的显示方法的时候,容器没有空余,新的画面想进来,现在的画面想要坚守着,于是他们两个打起来了,且势不两立,造成了频闪。而解决办法就是把现有的画面请出容易,容易空余,则可以让新的画面进来。
所以在调用显示方法的之前,先调用了一个当前监控画面退出的方法,将容器腾出

        public void nMonitor(){NETClient.StopRealPlay(m_PlayID2);}

新的画面再进来,顺利实现了监控画面的“工作交接”

效果图如下:

大华C#SDK实现监控画面切换相关推荐

  1. Unity调用大华相机SDK采集图像及基本功能设定

    unity平台对视频播放不是很友好,而大华的SDK只有c#版本的并没有专门为unity做出来SDK,最开始尝试过使用SDK里面的方式获取YUV格式的视频流,再讲YUV格式的视频流转换为unity可以播 ...

  2. C#调用大华相机SDK获取图片,转换成VisionPro的Icogimage格式

    文章讲的是C#调用大华相机SDK,通过回调事件获取图片并转换成visionpro的Icogimage格式,文章底部会分享例程.在调用SDK之前,需要先安装大华的相机软件到C盘,不安装到C盘会显示依赖项 ...

  3. 浙江计算机机房监控,大华机房动环监控解决方案

    大华机房动环监控解决方案 方案背景 机房的动力环境如何能够满足苛刻机房建设和运维要求?居高不下的运维费用究竟是否用到了必要的地方?如此大量的机房,如何能够做到最少的人员,最高的运维效率? 机房建设和维 ...

  4. 【Delphi】从大华科技SDK的C头文件转换来的DHNetSDK.pas和DHConfigSDK.pas

    大华科技的SDK不支持Delphi,如果想用Delphi调用大华科技SDK里面的接口,需要先把其中C头文件转换成Delphi的pas文件.文件压缩包里面的两个文件(DHNetSDK.pas和DHCon ...

  5. 2019.11.12-最新大华摄像机SDK开发,预览实时视频并指定码流格式保存到文件中(可观看)

    大华摄像机SDK开发,预览实时视频并指定码流格式保存到文件中 由于本人最近在开发大华摄像机,特此分享一些经验给到各位开发朋友,本次实例是关于大华摄像机的实时预览视频码流保存到文件中的Demo,本人还开 ...

  6. Java对接大华摄像头SDK

    Java对接大华摄像头SDK 软件版本和开发环境 软件版本 环境变量 安装大华jar包到本地maven库 导入大华SDK相关项目文件 Windows系统导入开发包 运行测试 软件版本和开发环境 大华S ...

  7. C#大华监控画面切换

    最近公司需要在前台准备一个显示屏,可以查看公司所有摄像头所采集的监控画面. 当我根据公司的需要修改哨兵系统的时候,发现,几十个摄像头的画面平铺在一块小屏幕上是没有意义的,完全看不清楚,并且摄像头数量还 ...

  8. 1.8安装大华相机SDK及测试

    不同工业相机的sdk不同,可以到相应的官网下载,我使用的是大华相机 下载SDK: 官方下载地址:http://download.huaraytech.com/pub/sdk/ 我使用的是2.2.5的L ...

  9. 海康大华等网络摄像机监控视频RTSP/RTMP推流网页播放/直播无需插件低延迟解决方案研究

    市面上常见监控视频推流方案简介 当前如果想要将监控视频在浏览器中播放,有几种常见的办法如下: 1.获取摄像头RTSP流,使用FFmpeg或者程序如JavaCV或者其他方式,将其推流成RTMP,通过服务 ...

最新文章

  1. YOLOV4知识点分析(一)
  2. C++中的new和malloc的区别
  3. LeetCode 98. Validate Binary Search Tree--C++解法--判断是否是BST--递归,迭代做法,中序遍历
  4. Java中switch对整型/字符型/字符串型具体实现细节
  5. 【转】C# 操作系统防火墙
  6. ArcGIS Server 中AJAX应用系列(3)
  7. appearance—外观样式属性
  8. Android笔记进程优先级
  9. KVM虚拟化下使用virsh shutdown命令无法关闭windows
  10. java面向对象的理解_面向对象及其核心的概念:抽象、继承与多态、封装
  11. 攻防世界 MISC 新手练习区 答题(1-12题解)
  12. 香港最卖座的10部华语片:周星驰3部,成龙周润发各自2部
  13. YYtext简单使用
  14. kindle阅读订阅的google reader时,词典不能工作的修正
  15. DMA控制器8237A
  16. 数学通道的应用(六)-补偿气缸压力
  17. 什么是第三方物流服务?
  18. 如何设置计算机自动连接宽带,Win7系统如何设置开机自动连接宽带?
  19. Linux常用指令(详解)
  20. SDN(一) 用OpenWRT将路由器刷成openflow交换机

热门文章

  1. 树莓派3B实现软路由过程记录(无线网络通过网线共享给台式机)
  2. 「津津乐道播客」#184. 品质生活:又到了吃河蟹的季节
  3. 龙芯3A4000服务器部署kvm虚拟机指导
  4. 百度松果人才OJ赛第一场
  5. 实战内容(14)- 音视频技术如何为元宇宙提供全真稳的全新体验之漫话腾讯云音视频
  6. Shell--变量的显示与设置、环境变量、语系变量
  7. 代码随想录算法训练营第一天
  8. nextcloud私有云一键搭建脚本
  9. 小老板创业10大禁忌
  10. 用最通俗的语言讲机器学习之核支持向量机(SVM)