Category Archives: 编程之美

2017
11-26

Google ProtoBuf协议介绍 518 VIEW

Protocol buffers(简称protobuf)是谷歌提供的一种轻便高效的结构化数据存储格式,类似于xml与json,可用于结构化数据的序列化。protobuf是一种二进制格式,比xml更小,更快,更简洁。适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式,能够减少数据传输量。据了解微信(例如微信客户端....Read More >
2016
05-28

网络字节转换到本地字节的函数模板 806 VIEW

在做视频文件解析开发时,经常需要进行网络字节到本地字节的转换。在视频文件中,相关数据是以网络字节存储的,比如视频的宽,定义为uint_32类型,读取时我们需要转换为本地字节序才可以得到正确结果。操作系统自带api可以帮助我们进行字节序的转换,如下所示函数与具体平台无关: [crayon-5d8835db830dd116724802/]我们也可以用c++函数模....Read More >
2015
12-25

解决Ubuntu下vlc无法播放文件 3432 VIEW

最近在linux下使用VLC播放器,之前都可以好好播放的,可是手贱卸载重装了一次,之后都无法播放任何文件,总是如下提示: [crayon-5d8835db83418470329167/]后来使用了: [crayon-5d8835db83420027622337/] 卸载也是不行,重新安装还是会报Your input can't be opened:VLC ....Read More >
2015
07-21

MFC WebBrowser控件如何实现滚动条滑动 1165 VIEW

最近在写一个自动刷流量的程序,用到了WebBrowser 控件,通过该控件往程序嵌入一个IE浏览器,MFC中如何嵌入该控件可以看下参考链接1。由于要自动刷流量,所以就要模仿用户平时浏览网页的习惯,也就是打开网页,然后慢慢向下滚动鼠标。在程序中我是通过滑动右侧滚动条实现的。刚开始我的代码是参照链接3给的,不过该代码在有些网页下实现不了滚动条滑动,也就是没反应。我上网Goo....Read More >
2015
07-15

PortAudio捕获输出音频 1367 VIEW

记得前面说到使用PortAudio抓取声卡输出音频,通过PortAudio确实可以实现,但是我研究发现无法基于PortAudio使用Wasapi抓取计算机输出音频,PortAudio只能使用Wasapi抓取麦克风的输入音频,而不能抓取计算机播放的声音。先说下PortAudio如何抓取声卡输出: 1)条件:不开启立体声混音。首先我们要枚举所有设备,然后获取各个设备信息,....Read More >
2015
06-25

MFC自绘带背景颜色标题栏 3313 VIEW

MFC自绘带背景颜色标题栏 最近在写一个EDID文件生成器,可以根据输入的一些参数生成EDID文件,大多数字节是固定的,主要是详细时序这几个字节的计算,界面用的是MFC,不过我重绘了,因为MFC原生界面太丑了。下图是EDID生成器初步的效果:本文主要讲怎么绘制带颜色的标题栏,就像上图的蓝色背景标....Read More >