![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC开发
文章平均质量分 75
贝壳里的沙
毕业于中国石油大学软件工程系,先后就职于北京方正集团、北京用友财务软件股份有限公司、广东安居宝数码科技股份有限公司、广东东道信息科技有限公司,拥有10年以上的开发管理经验,擅长安防相关的音视频编技术应用,在大数据分析处理等方面有丰富的经验和独到见解。
展开
-
web端播放视频之rtsp协议转HLS
rtsp协议转HLSrtsp转hls协议一、前言1、传统安防行业2、新兴直播行业二、实现1、rtsp转为HLS2、提供http服务3、组件封装dll三、测试1、使用vlc测试hls2、使用nginx测试hls3、实时性比对四、扩展1、使用ffmpeg指令转换hls五、文献rtsp转hls协议一、前言不论是从事传统安防监控行业的或是做直播的行业都避免不了做音视频的播放,熟悉音视频播放的朋友应该知道,该行业设计的音视频对接协议很多,包括rtsp、rtmp、hls、onviff、gb28181等等,不同的协原创 2021-12-31 14:15:02 · 10306 阅读 · 0 评论 -
Windows音频采集及播放之wave库使用及实现
一、音频简介关于音视频的采集可能有很多文章,也有很多分方式,实现方式有Core AudioCore Audio只可以在Vista以上(包括Vista)的操作系统中才能使用,主要用来取代Wave系列API函数和DirectSound,Core Audio实现的功能也比较强大,能实现对麦克风的采集、声卡输出的采集、控制声音的播放。DirectSoundDirectSound库是D3D系列库中的一个关于声音采集和播放的库,它是一个COM组件,对于初学者比较抽象。Wave库Wave系列的API函数主原创 2020-10-11 13:30:58 · 2199 阅读 · 0 评论 -
AES加解密之C++实现
一、AES介绍AES,高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:下面简单介绍下各个部分的作用与意义:明文P没有经过加密的数据。密钥K用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给原创 2020-10-11 11:45:42 · 13776 阅读 · 2 评论 -
windows下文本转语音TTS库封装
一、文本转语音实现本文提及的文本转语音库其实很多年前写的库,最近有才时间整理才将对应库整理成文章供各位网友参考。其实在windows下自带了文本转语音以及语音识别的功能,这里由于项目中需要将报警文本信息使用语音形式转化出来,所以这里仅仅只介绍文本转语音的使用。windows下我们将文本转语音使用的就是windows自带的COM组件,也就是TTS库,为了方便使用我将语音转文本的库封装成一个Dll库,目的也是为了后续组件化和模块化后续系统的功能,该封装库仅有三个功能:(1)语音库的初..原创 2020-10-11 10:59:26 · 2229 阅读 · 0 评论 -
boost网络串口通信库
一、前言前面我写了一篇《boost开发网络库》一文,该文章介绍了使用boost库开发一个高效、稳定的网络通信库,其中用到了c++准标准库boost的asio网络通信模块,本文将要讲的是使用boost开发usb串口,正好也用到了asio,我之前文章中说过asio不仅仅包含网络通信,还包括串口,接下来我将带大家讲解使用boost库实现串口的通信。(当然,我们完全可以使用windows本地api实现类似功能)串口是一种非常通用的设备通信的协议(不要与通用串行总线Universal Serial Bus(USB原创 2020-09-15 14:34:06 · 1769 阅读 · 0 评论 -
boost网络库开发
一、前言网络库是从事C++开发最基础、最核心、最常用的一个库,所有的协议都是建立在一个稳定高效的网络库之上的,所以对于c++程序员来说它是必不可少且非常非常重要的一个核心组件,我们可以使用网络库做任何我们想做的事情,比如用于文件数据上传、下载所有通信协议如http、rtp、rtsp等协议的封装服务器模块多客户端监听、连接、通信客户端与服务端通信局域网广播搜索局域网设备搜索多播组播一直不停的在C++、Java、Web以及linux系统运维等技术方面不停的来回切换,突然发现很久没有做c++原创 2020-09-15 10:34:13 · 2094 阅读 · 0 评论 -
UpdateLayeredWindow与SetLayeredWindowAttributes
首先使用透明之前必须设置该窗口为层级窗口,即增加窗口的扩展风格WS_EX_LAYERED,增加的时候最好使用GetWindowlong获取Ex风格,然后加入后在SetWindowLong设置,最好不适用ModifyStyle增加(有时候不好使,我用vs10可以,但08却不行)。 UpdateLayeredWindow使用之后不会再发出WM_PAINT绘制消息,所有的绘制消息都由Update原创 2014-08-25 15:37:39 · 14264 阅读 · 2 评论 -
SetWindowRgn不起作用
不知道,大家在使用windows 这个原创 2014-05-14 11:26:11 · 3047 阅读 · 0 评论 -
关于Activex控件中创建含有子控件的对话框失败问题
直入主题: 例如MFC中使用Microsoft Web Browser控件,在创建的时候宿主窗口一直创建失败!之前遇到过该问题,已经解决,忘记在博客上备份解决方法,原因很简单,在OCX开发过程中,涉及到容器包含子控件功能,必须在App Init的时候启用该操作,所有必须添加: AfxEnableControlContainer一遍应用此项功能;添加改语句之后,窗原创 2016-07-11 14:34:42 · 1098 阅读 · 0 评论 -
duilib初始化无法获取控件位置(所有位置都为0)
duilib中,我们往往在InitWindow虚函数中获取指定控件位置,调整控制其他控件大小等,但是使用getpos获取的矩形位置为0,所有我们没法在其中最我们自己想要的操作,经过duilib的调试跟踪发现:在窗口创建后第一次刷屏WM_Paint的时候,第一次调整pRoot根节点容器的所有子控件位置就在这个时候;而虚函数InitWindow是在Oncreate中调用的,所有在InitWindow的原创 2016-07-11 14:28:03 · 3750 阅读 · 0 评论 -
MFC的容器站点控件模型
ActiveX实现细节转载 2016-10-25 16:36:57 · 249 阅读 · 1 评论 -
MFC的容器站点控件模型
MFC的容器站点控件模型转载 2017-02-20 20:41:39 · 699 阅读 · 0 评论 -
CListCtrl ICon图标模式下,如何让设置背景透明与文字置透明
最近在做界面相关的软件,在原创 2014-05-11 10:45:24 · 3401 阅读 · 2 评论 -
关于Dll工程转静态库lib工程遇到的坑
最近在编译github上的开源项目,下载下来后,查看源码是dll工程且类是导出类,使用到导出string标准库中的字符串问题,由于接口中涉及到string类,就涉及到谁开辟谁释放的跨组件问题,加入工程后,如果主进程(调用进程为多线程MT形式)就会出现编译错误或模块内存释放问题,在这里要理解的知识点是:(1)组件和调用进程同为MD(或MDd)多线程模式,则组件与调用进程使用的是主进程的内存空间,...原创 2018-07-24 00:06:30 · 1548 阅读 · 0 评论 -
在windows 和 linux下引入hash_set、hash_map头文件(转)
在windows 和 linux下引入hash_set、hash_map头文件(转)推荐使用方法:在源代码的前面写入一下代码: // just for "#include " in linux#if __GNUC__>2#include #include using namespace __gnu_cxx;#else#include #inc转载 2015-06-27 14:46:34 · 1466 阅读 · 0 评论 -
VLD-添加到vs2008后,发生“程序无法运行”错误
本人在项目中使用VLD检查内存泄露问题,但是有时候能正常添加到项目中并且项目能正常运行,但是也有很多次添加到项目中之后项目无法启动,出现“应用程序正常启动失败(0xc0150002) ” 错误,在系统的管理的事件查看器中也没有关于该错误的提示信息,经过查阅网络资源,发现不少网友也出现该情况,但是所有的解决办法都不能解决,最后经过多方英文文档查询,发现问题引起的原因如下:VC2003、V原创 2015-04-02 14:21:44 · 2776 阅读 · 0 评论 -
VS2010配置FFMPEG
分类: vc++2014-03-18 21:44 2277人阅读 评论(3) 收藏 举报从FFMPEG官网http://ffmpeg.zeranoe.com/builds/下载编译好的版本。SHARE和DEV。分别解压后,把两个文件中的Include和lib包含到VS中。项目-》属性-》配置属性-》VC++目录 包含目录中添加相应的include,库目录中添加相应的lib.此外转载 2015-03-07 19:53:31 · 1046 阅读 · 0 评论 -
WS_CLIPCHILDREN和WS_CLIPSIBLINGS易理解的解说
相信,人多人都对WS_CLIPCHILDREN和WS_CLIPSIBLINGS具体的属性不是很理解原创 2014-05-17 20:01:02 · 33778 阅读 · 5 评论 -
vc C++ 子窗口如何全屏显示
if(m_bFullSceen){ m_pWndSave->ShowWindow(SW_SHOW); SetParent(m_pWndSave); ModifyStyle(WS_POPUP,WS_CHILD); SetWindowPlacement(&m_wpmSave);}else{ int cx = ::GetSystemMet原创 2014-05-13 11:55:33 · 5854 阅读 · 0 评论 -
Windows 窗口层次关系
相信在Windows 下面编程的很多兄弟们都不是很清楚Windows 中窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所以便整理一下。下面就说说Windows 中桌面(Desktop)以及顶层窗口,以及子窗口之间的关系。 在Windows 的图形界面下,最基本显示信息的元素就是窗口,每一个Windows 窗口都管理着自己与其他窗口之间的关系转载 2014-05-14 11:08:32 · 5250 阅读 · 3 评论 -
动态创建三种风格[WS_CHILD,WS_POPUP,WS_OVERLAPPED]的CDialog
对话框的三种风格指定一般在对话框创建之前对其指定,创建之后再使用ModifyStyl原创 2014-05-14 20:18:13 · 11534 阅读 · 0 评论 -
CDC画布中GetPixel获取某点颜色不正确问题
在实际界面编程过程中,将Bitmap选入当前CDC设备上下文的原创 2014-05-26 22:00:55 · 3450 阅读 · 0 评论 -
关于对话框OnPaint 不调用基类CDialog::OnPaint方法CPU消耗很大达到70%以上问题
基于对话框的程序(mfc默认生成),重载OnEraseBkgnd函数,其它不动,若在OnPaint函数中不调用其基类的OnPaint函数,即注释掉CDialog::OnPaint();,代码如下:原创 2014-05-27 20:43:06 · 3361 阅读 · 0 评论 -
自绘ComboBox改变颜色和大小
要点 1. ComboBox控件由三部分组成:ComboBox本身,CEidt或者CStaitc,ClistBox。当类型是Dropdown时,内部是CEdit;是类型是Drop List时,内部是Static。 2. ComboBox支持自绘需要修改Owner Draw属性为Fixed(固定的列表宽度和高度) or Variable(可变的列表宽度和转载 2014-05-27 19:36:53 · 23118 阅读 · 2 评论 -
MFC生成Win7或XP风格
name="Microsoft.Windows.XXXX" processorArchitecture="x86" version="5.1.0.0" type="win32"/> Windows Shell type="win32" name="Microsoft.Windows.Common-Controls"原创 2014-08-13 20:19:21 · 1217 阅读 · 0 评论 -
透明按钮背景不刷新【不使用父窗口背景刷新】
随笔- 10 文章- 0 评论- 37 用C++实现半透明按钮控件(PNG,GDI+)使用MFC实现上面的按钮半透明效果能看到父窗口中的内容,上面是效果图(一个是带背景图片的、另一个是不带的)。控件继承自CWnd类(彩色的部分是窗口的背景图片、按钮是PNG图片,第二个图标是鼠标指向时的效果)。图标的绘制使用GDI+绘制转载 2014-08-29 14:20:20 · 2509 阅读 · 0 评论 -
MFC中CImage类显示的半透明PNG存在的问题以及处理方法
在MFC中自己也做过很多关于如何原创 2014-10-23 08:56:48 · 8296 阅读 · 3 评论 -
STLport 在VS2010下的编译(转)
编译环境: Win7 64位 、VS2010、STLport5.2.1因为Boost教程《Boost程序库完全开发指南》中提到STLport是配合Boost程序库工作的默认标准库,且我的编译器是VS2010,而目前STLport的编译在官网上最新只支持到VS2008,所以需要手动改一下源代码。文件在STLport库目录下的stlport\stl\_cstdlib.h将158转载 2014-10-12 10:03:12 · 530 阅读 · 0 评论 -
网络UDP广播包发不出去或接收不到问题
在公司最近项目中,有关设备搜索采用UDP广播方式搜索,出现的情况是,部分机器能正常接收到广播包,部分机器接收不到广播包,部分机器发送不了广播包情况,经过N天的查询,结果发现惊人的秘密:虚拟机网卡导致广播包发送不出去或接收不到问题!!!以上结果仅供各位大神参考! 补充一下,这文章发布几年了,一直有人问怎么设置,我也表示无语了,告诉是网卡问题,禁用虚拟机网卡不就OK了。。。...原创 2014-12-03 14:59:33 · 30150 阅读 · 19 评论 -
MFC中坐标空间与映射
有不对的地方十分欢迎指正,谢谢。转载请注明出处,谢谢。参考文献:1、孙鑫老师《VC++深入详解》2、作者: 刘涛 http://tech.sina.com.cn/s/2005-06-20/1143640450.shtml3、作者:maybe_kidhttp://blog.csdn.net/maybe_kid/article/details/1749549转载 2014-12-03 20:25:38 · 5074 阅读 · 0 评论 -
MultiByteToWideChar 与 WideCharToMultiByte 准确理解
记得之前已经写过有关两个API用法的文章,知道是知道含义,但是有些关键点没有把握到:(1)多字节也有许多编码格式,其中包括Ansi和UTF8,这里容易混淆的地方是:UTF8与UNICODE,UTF是多字节集不是UNICODE(2)UTF8为不定长存储,也就是说他存储的长度是不确定的,如:占2个字节的:〇占3个字节的:基本等同于GBK,含21000多个汉字占4个字节的:中原创 2015-01-24 15:08:05 · 910 阅读 · 0 评论 -
vc加载PNG以及JPG等图片资源并绘制图片
VC加载 png 没有透明功能,要想使加载到程序中的png图像有透明工能,请在加载图片后,加入以下代码: Cimage mimage; HRESULT hr = mimage.Load(szImageName);for(int i = 0; i < mimage.GetWidth(); i++) { for(int j = 0;原创 2014-05-11 10:52:30 · 3024 阅读 · 0 评论