qt中采用宽带speex进行网络语音通话实验程序 本文博客链接:http://blog.csdn.NET/jdh99,作者:jdh,转载请注明.   环境: 主机:WIN8 开发环境:Qt5 3.1.2 speex版本:1.0.5 说明: 本程序采样频率为16KHz,量化位数为16位,则码率为256kbps. speex采用窄带压缩,质量10,压缩比率为106/640,则压缩后的码率为42.4kbps. 本测试程序实现网络语音通讯的功能. 源码: pro文件加载库文件 INCLUDEPATH +…
Socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 本文介绍的是Qt中采用多线程Socket编程,由于工作的需要,开始接触Qt的socket编程.Qt里的example是个不错的教程,但是当我把代码移植到多线程的环境时就出问题了: QObject: Cannot create children for a parent that is in a different thread. 由于想要在线程中保留一个socket,以便维…
我们在开发实践中常常会涉及到网络语音视频技术.诸如即时通讯.视频会议.远程医疗.远程教育.网络监控等等,这些网络多媒体应用系统都离不开网络语音视频技术.本人才疏学浅,对于网络语音视频技术也仅仅是略知皮毛,这里只想将自己了解到的一些最基础的知识分享给大家,管中窥豹,略见一斑,更重要的是抛砖引玉,希望更多的朋友们一起来探讨,同时,有讲得不正确的地方也希望大家批评指正. 一.基本流程 无论是即时通讯.视频会议,还是远程医疗.远程教育.网络监控等等系统,都需要获取到远程的语音.视频信息,在我们的直观印象…
我们在开发实践中常常会涉及到网络语音视频技术.诸如即时通讯.视频会议.远程医疗.远程教育.网络监控等等,这些网络多媒体应用系统都离不开网络语音视频技术.本人才疏学浅,对于网络语音视频技术也仅仅是略知皮毛,这里只想将自己了解到的一些最基础的知识分享给大家,管中窥豹,略见一斑,更重要的是抛砖引玉,希望更多的朋友们一起来探讨,同时,有讲得不正确的地方也希望大家批评指正. 一.基本流程 无论是即时通讯.视频会议,还是远程医疗.远程教育.网络监控等等系统,都需要获取到远程的语音.视频信息,在我们的直观印象…
在Qt中并没有Sleep函数可以调用,在程序编写时往往需要休眠几秒,这里举出两个方法,不知道是否啥不良隐患没~~ 方法一: class SleeperThread : public QThread{public:    static void msleep(unsigned long msecs)    {        QThread::msleep(msecs);    }}; // 调用方法SleeperThread::msleep(1000); 方法二: QMutex mutex;QWa…
1.Qt中的主窗口 主窗口为建立应用程序用户界面提供了一个框架 Qt开发平台中直接支持主窗口的概念 QMainWindow是Qt中主窗口的基类 QMainWindow继承于QWidget是一种容器类型的组件 QMainWindow只能作为顶层组件 2.QMainWindow的优势--QMainWindow类拥有自己的布局 3. 主窗口中的菜单 (1)Qt提供与菜单相关的类组件 (2)QMenuBar类.QMenu类和QAction类 ①QMenuBar:QMenuBar类提供了一个水平的菜单栏,…
如果你不确定在使用Qt编程时自己所掌握的C++知识是否够用,这一节的内容会帮到你.这里给出了Qt自身以及在使用Qt进行编程时涉及到的C++知识,因此,通过阅读本节,你会了解你是否缺少一些C++技能. 如果你想对这里提到的C++特性做进一步的了解,我们推荐你看Gregory Satir和Doug Brown撰写的<C++:The Core Language>,该书由O’Reilly出版.这本书重点讲解了C++语言最为重要的部分,并且涵盖了本节提到的所有内容. 对象和类       当然的,Qt中…
-----图形性能部分-----Qt的widgets部分,运行时的图像渲染性能是一般的,因为大部分的界面内容都是Qt自绘,没有走硬件加速,也就是说很多图形内容都是CPU算出来的.但是widgets底层毕竟是C++,而且Qt的模块写的也不错,做过很多优化,这个渲染的性能在桌面上与有硬件加速的框架比差别不大,除非是有很多动画的复杂场景才能看出区别.不过在手机上或者嵌入式上,就会明显觉得widgets的渲染性能低了. 那么怎么办呢,Qt是不会抱死在widgets一个框架上的.所以Qt推出了Quick和…
使用qt创建界面时,可以选用代码设计也可以选用qt design来设计.最近看我同事的代码,以前写action都是使用connect链接槽函数的, 网上大多数人都是这样,然后我就纳闷,怎么没有connect,后面发现是采用默认绑定规则(还可以这样!!!!!!!!!,搞死我了,没办法,没有系统学习) qt就是这样!!!!!!! 可以参考下面的链接: 下面内容转自: http://m.blog.csdn.net/yangzijiangtou/article/details/71276127 QT中Q…
转自:http://mylovejsj.blog.163.com/blog/static/38673975200892010842865/ QT中的SOCKET编程 2008-10-07 23:13 http://hi.baidu.com/landuochong/blog/item/08268100cf5b6783e950cda9.html 操作系统:ARM-LinuxQT版本:QT-2.3.2-FOR-LINUXGUI:Qtopia 在LINUX 下进行网络编程,我们可以使用LINUX提供的统…
文章来源:http://blog.sina.com.cn/s/blog_731bf4c90102wnpr.html 本文仅是个人经验总结,若有错误欢迎指教! 最近要做一个跨平台的项目,同时也涉及到网络数据传输,所以考虑采用Qt和Libevent. 1.vs编译libevent 参考网上众多通过VS编译Libevent的文章(http://www.cnblogs.com/luxiaoxun/p/3603399.html),成功编译得到了​libevent.lib.libevent_core.lib…
转自:http://mylovejsj.blog.163.com/blog/static/38673975200892010842865/ QT中的SOCKET编程 2008-10-07 23:13 http://hi.baidu.com/landuochong/blog/item/08268100cf5b6783e950cda9.html 操作系统:ARM-LinuxQT版本:QT-2.3.2-FOR-LINUXGUI:Qtopia 在LINUX 下进行网络编程,我们可以使用LINUX提供的统…
我曾经在系列文章中的<C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍>中介绍了微信菜单里面的重定向操作,通过这个重定向操作,我们可以获取一个code值,然后获取用户的openID,进而就能获取到更多的用户信息,这个在会员信息的场景里面用的很多,本篇介绍在网站中迅速配置这样的菜单链接,并介绍如何在后台获取相关的用户信息,实现页面数据个性化的展现操作. 我们知道,微信的自定义菜单分为两大类,分别对应Click类型和View类型的,而重定向属于View类型的一种,如下所示. 1.微信重…
在 派生类的构造函数初始化列表中 调用 父类的带有参数的构造函数,是为了初始化从父类继承来的成员变量.因为这些变量无法直接初始化,只能采用这种方式初始化. 而在qt中,MainWindow中的某成员变量(指向父组件的指针,假定为p)无法直接初始化,只能在初始化列表中调用QMainWindow(parent),把形参parent的值间接的传给p,使p完成初始化.…
转载1:http://qimo601.iteye.com/blog/1404693 转载2:http://blog.sina.com.cn/s/blog_92cde3060101lobm.html 转载3:http://www.devbean.net/2012/08/qt-study-road-2-resource-files/ 刚开始自学QT,好多东西不是很明白,从网上搜出来一些资料,先记录下来,以方便以后学习.习惯了使用VS进行写项目,所以选择下载Qt5.2.Qt插件,在给窗口和控件添加背景…
这两天因为需要用到VS2012来生成一个DLL代码,但是之前并没有用过DLL相关的内容,从昨天开始尝试调试DLL的文件调用,起初笔者在网络上找到了3片采用VSXXX版本进行调试的例子,相关的内容见本人Blog在C++中调用DLL中的函数(1)(2)(3) 但是问题出现了,上面讲述的步骤很详细但是在自己运行的时候却会出现错误,于是今天在使用google“vs2012 c++调用dll”时,发现了一篇MSDN上的指南:http://msdn.microsoft.com/zh-cn/library/m…
今天写了一个小程序,验证了带参的构造函数中参数parent的作用. 在MainWindow中声明一个QDialog类型的指针,在MainWindow中对它进行初始化.我采用了两种初始化方式,一种是带参的构造函数,一种是不带参的构造函数.如下: /*mainwindow.h*/ ... QDialog *dialog; ... /*mainwindow.cpp*/ //第一种方式,用不带参的构造进行初始化 dialog = new QDialog; //第二种方式,用带参的构造函数初始化 dial…
本文讲述的是在Qt中QThread使用方法,QThread似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用QThread,随便用google一搜,就能搜出大量结果出来.无怪乎Qt的开发人员 Bradley T. Hughes 声嘶力竭地喊you are-doing-it-wrong 和众多用户一样,初次看到这个时,感到 Bradley T. Hughes有 些莫名奇妙,小题大作.尽管不舒服,当时还是整理过一篇博客QThread 的使…
Qt对线程提供了支持,基本形式有独立于平台的线程类.线程安全方式的事件传递和一个全局Qt库互斥量允许你可以从不同的线程调用Qt方法.警告:所有的GUI类(比如,QWidget和它的子类),操作系统核心类(比如,QProcess)和网络类都不是线程安全的.QRegExp使用一个静态缓存并且也不是线程安全的,即使通过使用QMutex来保护的QRegExp对象.启用线程支持在Windows上安装Qt时,在一些编译器上线程支持是一个选项.在Mac OS X和Unix上,线程支持可以当你在运行config…
近期在学习QT时遇到了很多问题这也是其中一个,个人通过在各种书籍和网络上的查阅找到了一些关于这方面的答案,希望能给大家一些帮助. 首先,在QT中对于窗口显示常用的有这么几个方法可以调用: Qt全屏显示函数            showFullScreen() Qt最大化显示函数         showMaximized()Qt最小化显示函数         showMinimized()Qt固定尺寸显示函数      resize(x,y)Qt设置最大尺寸函数      setMaximum…
关于QT中evaluateJavaScript()函数返回值的处理问题 - 寒风问雪的专栏 - 博客频道 - CSDN.NET 关于QT中evaluateJavaScript()函数返回值的处理问题 分类: QT 2012-08-17 21:28 851人阅读 评论(0) 收藏 举报 qt脚本测试                                      关于QT中evaluateJavaScript()函数返回值的处理问题      by 寒风问雪   在QT中我们可以通过ev…
作为.NET平台上的开发人员,要开发出一个像样视频聊天系统或视频会议系统,非常艰难,这不仅仅是因为.NET对多媒体的支持比较有限,还因为网络语音视频这块涉及到了很多专业方面的技术,而.NET在这些方面的沉淀更是稀少.OMCS的出现将使得这一状况完全改观,它把所有底层的.复杂的.繁琐的细节都封装在了内部,提供给您一个易用而又强大的接口. OMCS网络语音视频框架是集成了语音.视频.远程桌面.电子白板等多种媒体于一身的网络多媒体框架,实现了多媒体设备[麦克风.摄像头.桌面.电子白板]的采集.编码.网…
今天给大家讲说一个新的东西,使用QT实现音频通信的功能,挺起来是不是很高大上啊,哈哈,实际上我们只是使用一些接口做一些简单的工作而已,并不是让你写一个传输协议和采集音频信息,好了,那我们就来说一说关于在QT中是实现音频通信的具体过程吧! 首先我们要是用到是UDP的通信协议和关于音频信息的采集类和标准的输入输出设别的类,那么我们分别是下面的几个类: QUdpSocket:在QT用用于udp通信的类 QAudioInput:音频采集的类 QIODevice:标准输入输出设备 QAudioOutput…
一.Webkit了解   Webkit是一个开源的浏览器引擎,chrome也使用了作为核心.Qt中对Webkit做了封装,主要有以下几个类: QWebView :最常用的类,作为一个窗体控件 QWebPage :包含在QWebView中,表示一个Document QWebFrame :包含在QWebPage中,表示一个Frame QWebSettings :网页渲染全局设置 QWebHistory :用于浏览的历史记录 WebView 使用 WebPage 来实现页面,WebPage 使用 We…
GDB_ImageWatch是在Linux下基于QT编写图像处理程序的调试程序. 由于并非像ImageWatch一样由官方提供,而是在github上以代码的方式进行提供,我们在使用的时候需要自己编译,所以有很多需要注意的地方. 这是一个python程序,所以pip的安装等都是需要的. 一.资源地址 https://github.com/csantosbh/gdb-imagewatch 也包括官方提供的安装方法,是最为重要的参考(经验比较丰富的话,只依靠这个材料就够了). 二.步骤安装 0.安装必…
在下面的随笔中,我会根据xml的结构,给出Qt中解析这个xml的三种方式的代码.虽然,这个代码时通过调用Qt的函数实现的,但是,很多开源的C++解析xml的库,甚至很多其他语言解析xml的库,都和下面三种解析xml采用相同的原理,所以就算你不是学习qt,也可以大致参看一下代码,对三种解析方式有一种大致的感觉. 先给出xml如下: <?xml version="1.0" encoding="utf-8"?> <school> <teach…
Qt可显示基本的图像类型,利用QImage.QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放.旋转). 参考:Qt中图像的显示与基本操作 - ykm0722的专栏 - 博客频道 - CSDN.NET  http://blog.csdn.net/ykm0722/article/details/7447632 1. Qt可显示的图像类型 参考Qt的帮助文档,可支持的类型,即可以直接读取并显示的格式有BMP.GIF.JPG.JPEG.PNG.TIFF.PBM.PGM.P…
1.需要使用多线程管理的例子 一个进程可以有一个或更多线程同时运行.线程可以看做是“轻量级进程”,进程完全由操作系统管理,线程即可以由操作系统管理,也可以由应用程序管理.Qt 使用QThread 来管理线程. QWidget *widget = new QWidget(this); QVBoxLayout *layout = new QVBoxLayout; widget->setLayout(layout); QLCDNumber *lcdNumber = new QLCDNumber(thi…
最近写Qt中的tcp网络编程,Socke连接后,接受到的数据类型是字节型,这就涉及到了大量的类型转换,在网上辗转几辄,总算有了点结果,特此跟大家分享.好了,不废话,下面细说. 方法/步骤     1.打开Qt Creator,我的是2.8.1版本.新建工程,应该包含了基本类型的头文件,这里就不详细说了,因为Qt中的头文件与类名是一样的.   2.首先来两个int类型的数据(或double型): int int_head=5: int int_data=10: 这里的值是随便定的,我的是Socke…
这两天因为需要用到VS2012来生成一个DLL代码,但是之前并没有用过DLL相关的内容,从昨天开始尝试调试DLL的文件调用,起初笔者在网络上找到了3片采用VSXXX版本进行调试的例子,相关的内容见本人Blog在C++中调用DLL中的函数(1)(2)(3) 但是问题出现了,上面讲述的步骤很详细但是在自己运行的时候却会出现错误,于是今天在使用google“vs2012 c++调用dll”时,发现了一篇MSDN上的指南:http://msdn.microsoft.com/zh-cn/library/m…