自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (4)
  • 收藏
  • 关注

原创 导融共振-用光照震动就能治病?

随便尝试搜索了一下“导融共振”这个词,发现了好多被XX系创造出来的名词:AMI导融共振仪—-治疗甲状腺疾病AMI脉冲导融疗法—-治疗甲状腺疾病AXON-三维导融共振技术—-治疗小儿多动症、抽动症、尿床症和遗尿症ATI-四维导融共振技术仪器—-治愈口腔溃疡、口腔扁平苔藓、白塞氏病、口腔白斑等口腔黏膜疾病 MCDR脉冲导融—-治疗白塞氏病MCDR脉冲导融治疗仪—-男科专用MCDR脉冲导融光

2019-12-23 21:08:53 1384

原创 变速不变调播放mp3-QT-QAudioOutput-lame-sonic

基本原理    有两种变速播放方法,一种是改变playback的频率,例如22050hz采样用44100hz播放。但是这种方法会导致声音快的同时,声调也相应变化,会比较难以接受。 第二种方法,也是本次讨论中用到的办法,通过某种方法(未深究其原理)重新计算声音采样,使其语速变快变慢而音调不变。变速解决方案   &...

2018-03-27 19:18:14 1945

原创 PortAudio+webrtc+lame实现采集降噪增益mp3

一、使用PortAudio采集 首先你应该下载这个库编出动态库放好头文件和链接库lib,这些都不是重点不赘述。//定义pa的sample类型为int16,这个可以配合webrtc模块#define PA_SAMPLE_TYPE paInt16 //采用双字节,一个sample=sizeof(int)=2字节#define SAMPLE_RATE (32000)

2017-10-18 21:53:07 1795 4

原创 QT通过QAxWidget嵌入IE浏览器并获取页面源码

为什么为了显示微信登录的二维码,引入了整套QtWebEngine,占用非常大的空间。微信登录二维码有自动刷新动作,这些定义在页面脚本中,所以不能直接自绘二维码方式实现,浏览器少不了。主要原理通过COM组件可以调用系统自带的浏览器,当然是IE啦。Qt提供QAxObject和QAxWidget对象帮助访问COM,(与其说帮助,还不如说越帮越忙)怎么做

2016-12-07 19:54:10 15463 16

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-12-07 19:42:38 424

原创 WIN7+MSVC2013_X86+QT5.7.0编QtWebEngine

背景交代QtWebEngine提供接入Chromium内核做浏览器的便利.通过简易浏览器的制作,逐渐发现Chromium默认不支持mp3 h.264等,所以需要重新设置自己编QtWebEngine模块找到一篇非常对路的文章,我将文章内容结合我实际操作,记录在下面. 原文链接http://blog.csdn.net/saga1979/article/details/51734001操...

2016-12-02 23:47:00 6354 12

原创 DEBUG神器valgrind之memcheck报告分析

valgrind之memcheck报告分析,memcheck怎么运行,memcheck报告怎么看,有哪些常见问题报告,崩溃

2015-05-25 15:06:38 13584 2

原创 回调函数中删除对象引发的隐晦非法访问崩溃问题

回调函数,这里说的是一种笼统的概念,泛指一个对象或者一个过程调用陷入另一个对象或过程。本文想要描述的就是在回调函数中执行释放、删除动作去销毁调用调用者相关联的内容,导致访问非法。下面用一段代码来简述一下这个坑是怎么产生的:class ISomeFace{public: void callback(CBase* pBase)=0;}class CCallee:public I

2015-05-18 23:23:51 1428

原创 QT工程看不到头文件和源文件qmake失败stat(".")failed问题解决

一个原本正常的工程目录,今天突然不正常了:在Ubuntu12.04中使用QtCreator打开,工程目录全在,但是”头文件“和”源文件“目录全部消失,qmake失败,从”编译输出“可以看到QFileSystemEngine::currentPath: stat(".") failed 这样的错误。根据以前的经历推断是挂载盘的问题,稍作折腾后明白了所有的前因后果与解决方法。①首先这个工程在一开始

2015-05-18 14:19:42 3751

原创 多点旋转计算磁吸角度算法探究

多点触控操作对象时,对象自由旋转。但是如果想要正向摆放,光靠两个手指,非常困难,除去精度问题,手指抖动再所难免,所以有必要为旋转添加一个磁吸特性。   所谓磁吸就是当旋转到0度、90度、180度、270度附近时,对象角度被吸入,当继续操作超过一定度数,操作才能继续。QT QGraphicsItem有roation和setRotation,使用的都是度数值。当要做磁吸效果时,不能当真调用setRot

2015-05-17 21:42:33 1114

原创 RakNet实用介绍

RakNet是一款面向游戏基于UDP的高性能网络库,注意它开源但并非完全免费。主页 http://www.jenkinssoftware.com/ 有一些商业化介绍,通过导航可以找到入门指导(RakNet Manual)、Doxygen文档、论坛论坛支持 http://www.jenkinssoftware.com/forum/ 它的好处在于作者会不定时来扫贴免费答疑解惑,当然你必须用英语,还必须让

2015-05-17 21:39:48 2908

原创 一种方便的动态库动态加载机制

动态加载动态库在很多时候的用户体验都比较好,可以检查发现缺失的文件,可以让可选的模块缺失而继续工作。但是动态加载涉及很多函数定义,函数寻址。写来写去非常繁琐且没有技术含量,遇到C++类导出基本没辙。这里我介绍我使用的一种方便使用的动态加载机制。  简单的来说就是将欲导出模块封装成类,定义一个纯虚函数类,模块的实现部分做成纯虚函数类的单例。模块仅导出两个函数,一个是创建模块实例,返回虚基类指针;一个是

2015-05-17 21:38:50 685

原创 从FlashP2P谈谈p2p技术不容忽视的弊端

flash长期霸占视频点播主流地位,它的视频处理非常先进。尽管在绝大部分情况下为了整体播放体验而削弱了清晰度,但是综合而言都是最好的视频类解决方案之一。当年同时期的几种流媒体如Microsoft微软的mms协议与asf(高级串流格式),RealMedia的rtsp(流媒体协议)都在他的光芒之下逐渐成了鸡肋,在浏览器上的使用更是寥寥无几。  记得早期flash视频网站刚刚如春笋般涌现的时候,瞬间吸引了

2015-05-17 21:32:29 891

原创 字符串匹配Sunday算法实现

今天稍稍度娘了一下匹配字符串的算法,主要搜索结果还是源自CSDN。其中一篇《字符串匹配算法总结》介绍了好几种字符串匹配算法,写的非常好。我挑了其中作者也比较推崇,比较新,效能比较好,算法又比较简单的Sunday算法,稍加揣摩,然后发现贴的实现代码,居然和算法描述的从右往左比对是冲突的,因此我断定贴的代码是错的。仔细看就能发现从左向右比对,很容易会跳过一种匹配,如从a1a1a2寻找a1a2,就会匹配失

2015-05-17 21:27:00 577

原创 BitComet种子torrent内容解析

种子文件torrent里面都写了些啥,咱这里来个真相大公开!// ## BitComet torrent ## (BC)代表BitComet制作的种子中存在,可能比较特别的字段 所有的.utf8估计也是BC采用的,wiki上表示所有编码都应该是utf8的[dict根字典]|-{announce}={#tracker服务器#}|-{announce-list}=[#tracker-list更

2015-05-17 21:06:54 2213

原创 不重载new操作符如何代码实现内存泄漏检测

之前在win平台写代码的时候,对于内存泄漏的检查,是依赖于MS提供的一些机制,使用了诸如malloc_dbg,free_dbg这样的函数,内存泄漏的输出也是自动产生。由于工作的原因现在更多接触linux平台,就开始思考自己实现一个这样的东西,哪怕是简化版,或者能比较像样的达到目的也行。于是开始试着重载operate new  刚开始还是挺顺利的,在operate new里面,用malloc函数去分配

2015-05-17 21:02:47 545

原创 C++模板类代码只能写在头文件?

这个问题,实际上我几年前就遇到了。最近写个模板类玩的时候,再次遇到。  当我非常仔细的将定义和实现分开,在头文件中保留了最少的依赖后,一切就绪.cpp单独编过。但是当使用的时候,就会报告所有的函数调用都没有实现。按常规.h/.cpp而言这是不可能的。但是模板类就是这么独特。简单说说他的原因,也备自己将来遗忘:  从语法角度而言,是没有强制要求说模板代码的声明和实现不可以分开。那么当分离的声明和实现写

2015-05-17 20:54:24 13428 4

原创 安装安卓SDK之曲线谷歌dl-ssl

不知道前辈们开发安卓的时候是怎么获取sdk的,使用离线从别处下好后自己放到对的地方?太复杂而且易错。而我首先想到的是代理方式,用上和谐小白鸽……这个方式暂不提。今天我使用ubuntu来折腾sdk,没法用和谐小白鸽。于是到处搜索找曲线救国的办法。然后找到一篇百度经验《dl-ssl.google.com》(标题有点奇怪)顿时觉得国人的智慧真是不可估量啊。  详细内容不赘述,大致说一下,就是用站长ping

2015-05-17 20:51:51 646

原创 libev的入门笔记(基本使用)

libev是一个高效的事件库,用来统一信号、定时器、文件IO、网络等需要异步处理的操作方式,提供统一的异步处理框架。以下是官方手册的一个例子: 手册原文地址:http://doc.dvgu.ru/devel/ev.html   libev中包括刚才所举的几个内容,都被认为是一种TYPE,经过封装他们的使用方式非常的相似。上图代码中使用到了两种TYPE:io和timer。从main开始看,ev_d

2015-05-17 18:01:19 3018

转载 格式转换说明符scanf,printf格式%大全/格式化输入输出

printf()相信在编程上稍有“浸淫”的都认得它家还有兄弟sprintf,scanf,sscanf…它的格式控制符一般来说懂得%d,%s就差不离了。当你华丽丽的写下char c=’c’;printf(“char=%d”,c);的时候,一切都还是那么美好.可是当你声明一个char buf[2];然后sscanf(“30000”,”%d”,buf);试图识别3万写入buf的时候,就不那么好玩了.本以为

2015-05-17 17:55:43 1133

翻译 码农心酸无奈聊以自嘲的59箴言

我收集了很多编程语录,基本上都跟程序员的生活有关。这些语录涉及软件开发,代码维护,调试纠错,软件bug,系统设计、文档,代码质量,测试和软 件开发团队管理等方面。下面的这59条语录虽然很搞笑,但却真实无比。只有程序员才能理解这些编程语句里的真正内涵。闲言少叙,开始吧…

2015-05-17 17:46:02 1389

原创 一种简洁的流式推送文件分享法

所谓简洁是相对于P2P多端同时协商同时获取数据, 同时还分享分发数据的复杂逻辑而言的. 这里要提的”流式推送”法, 是要简单的多的方法. 我会简单分析一下.  玩过魔兽War3 RPG的人常常遇到要从主机那里获取自己没有的地图的情况, 自己名字前面会有一个0~99变化的数字. 那么不知你有没有注意观察和思考过,当一个房间4个人,只有主机有地图的情况下, 另外3个人是怎样拿到地图的? 经过我的观察和

2015-05-17 17:42:59 1240

原创 双向同步时撤销重做设计思路

其实要说撤销重做的设计思路,其实没有啥特别的.这里主要还是针对双向同步的情况. 同步时有的人在增,有的人在删,况且操作因为网络的问题还有滞后性,又不能先协调后生效(这样同步体验太差), 一想就是一团乱麻.单机撤销 首先来说单机情况的撤销重做. 通常的思路就是做一个操作链:[START]~_p_[END] 一个当前指针pNow指向[END] [START]~[+A]~[+B]~[+C]~[-C]~

2015-05-17 17:38:05 753 1

原创 C++自增操作符你真的懂?

虽然使用C++已经长达五年之久,但是对于C++的这个++却实在是一知半解。说来惭愧。 相信所有学过C++的人都知道++C于C++在运算符产生的效果上的异同。那么当一个表达式或者一个语句中出现两次同样的++会是什么样的表现呢?   例如int a=2; int b=(a++)*(a++)等于多少呢? 是4还是6还是8?  最简洁快速的办法就是写代码,让编译器告诉我们答案。于是构造了这么一段代码:in

2015-05-17 17:34:33 1668 1

原创 一点点开始熟悉C++11的新特性

C++11标准由C++标准委员会于2011年8月12日公布,并于2011年9月出版。虽然长期在使用C++,但是对C++11一直处于观望,处于很难用起来(编译器支持等问题),没有很大兴趣去学会的状态。也许风向变到C++11成为主流,才会引起大家的重视和追捧。可是这是常人思维,基本上周围的精英牛人都已经掌握了这些东西,并且已经开始用于工作当中了。 所以这就是我这样的常人和牛人的巨大差别。所以我也要跟上节

2015-05-17 17:32:50 638 6

原创 空间换时间--编程小绝招解决电话区号识别算法问题

空间换时间问题通常都是一个不大的问题里的一个不小的解决方案。首先要理解代码中函数的一个大致的代价,在输入比较固定,计算输出又比较费劲的时候,常常就是空间换时间发挥作用的时候了。通过几个简单的例子您就会了解。  在Base64编码过程中,将源字节按规则取位得到一定数量的0~63的数的数组,按规则需要将这些数一一对应固定转换成特定字母数字来得到输出字符串。如果用if……else……的方法,会非常麻烦,代

2015-05-17 17:29:33 1164

原创 探究单向链表逆置转向及检查成环的问题

假设链表节点的数据结构为:typedef struct node { int data; struct node* next;}ListNode,*pListNode;要求实现将一个单向链表逆置并检测如果链表成环返回FALSE,从参数返回新的链表头。BOOL Reverse(pListNode& head);这个问题看似简单,实际上太能发挥了。首先因为是单向链表,next不能简单的改

2015-05-17 17:27:49 771

原创 从MSVC习惯到QTCreator工程pro文件实用介绍

对于用惯VS的各位,一定想QT Creator也能用的那么溜。其实关键在.pro 从MSVC习惯到QTCreator工程pro文件实用介绍首先建立一个相当于sln的工程文件:TEMPLATE = subdirsSUBDIRS =\ raknet\ onetengine \ omisc \ testDebugShowonetengine.depends = rak

2015-05-17 17:22:39 3170

Android SDK API 类库 chm 完整版

包含Android API 6.0的所有类的文档, 官方数据. 页面为中文, 但是对主体内容几乎还是英文原文. 对于程序员来说应该无碍.

2018-04-17

变速不变调播放mp3-QT-QAudioOutput

可以参考我的博文。基于QT,使用lame库解码mp3,将数据喂给QAudioOutput进行播放。在windows、Android、Mac、IOS均测试通过。QT版本5.9.1

2018-03-27

webrtc降噪和增益的部分代码

从webrtc抠出来的代码实现无需噪音样本的降噪.具体使用请查看我的博客

2017-07-10

GBK源码转UTF8格式(QT源码)

也许你的工程源码是GBK,更糟的可能是GBK+UTF8混合,IDE都疯了。用这个简单的源码,你可以把他们全部变成utf8或者gbk,也可以研究qt用。随你喜欢了。

2015-07-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除