- 博客(26)
- 资源 (53)
- 收藏
- 关注
原创 CFile操作详解(转)
转自:http://hi.baidu.com/ce_ken/blog/item/254be36290fb39dce6113a3d.html各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。 1.文件的查找 当对一个文件操作时,如果不知道该文件是否存在,
2010-12-31 14:02:00 458
原创 基于VFW的摄像头视频捕捉程序(转)
转自:http://blog.csdn.net/laolei1986/archive/2010/07/13/5730241.aspx一、基于VFW的摄像头视频捕捉程序#include #pragma comment(lib, "Vfw32.lib")初始化操作1、创建捕获窗口函数 capCreateCaptureWindow() 返回视频捕获窗口,它是所有捕获工作及设置的基础,其主要功能包括:① 动态地同视频和音频输入器连接或断开;② 设置视频捕获速率;③ 提供视频源、视频格式以及是否采
2010-12-27 13:08:00 978
原创 UDP分包重组算法和 基于RTP的H264视频数据分包重组
UDP分包重组算法 转自:http://blog.csdn.net/sxcong/archive/2009/02/12/3882721.aspx使用jrtplib3.7.1的主要工作有两个:一是发送接收数据需要分片和重组。开始采集双向链表,后来发现处理不够好,内存总出错(好久没研究数据结构了)。后来直接采用分配缓冲,发送数据时标志offset,接收数据 按offset直接填充,非常简单。当然接收时判断一下,有没有重复的数据。二是继承RTPSession,写一个响应类,在这里接收和发送。然后,写一个
2010-12-24 17:24:00 3679
原创 htons函数的作用
转自: http://blog.csdn.net/zouxinfox/archive/2007/10/07/1814088.aspx在Linux和Windows网络编程时需要用到htons和htonl函数,用来将主机字节顺序转换为网络字节顺序。在Intel机器下,执行以下程序int main(){printf("%d /n",htons(16));return 0;}得到的结果是4096,初一看感觉很怪。解释如下,数字16的16进制表示为0x0010,数字4096的16进制表示
2010-12-24 17:00:00 1729
原创 用VLC+MFC做播放器
转自:http://blog.csdn.net/sxcong/archive/2009/01/15/3789628.aspx一直用mfc包装mplayer做播放器用。不过,VLC在播放网络视频流方面稍占优势。下来研究了一下。编译过程是比较麻烦的,网上也有很多例子。这里只是讲怎么调用libvlc.dll,不涉及编译。(要快速编译的话,可以下载官方提供的一些编译好的二进文件)。为了方便,直接安装vlc,然后把libvlccore.dll和libvlc.dll复制出来,还有plugins下面的所有dll文
2010-12-24 16:52:00 2301 1
原创 ALSA音频编程
ALSA 标准是一个先进的linux声音体系。它包含内核驱动集合,API库和工具对Linux声音进行支持。ALSA 包含一系列内核驱动对不同的声卡进行支持,还提供了libasound的API库。用这些进行写程序不需要打开设备等操作,所以编程人员在写程序的时候不会被底层的东西困扰。与此相反OSS/Free 驱动在内核层次调用,需要指定设备名和调用ioctl。为提供向后兼容, ALSA 提供内核模块模仿 OSS/Free 驱动,所以大多数的程序不需要改动。 ALSA 拥有调用插件的能力对新设备提供扩展,包括那
2010-12-23 10:55:00 1024
原创 G.7XX系列编码介绍
转自: http://www.cnblogs.com/huaping-audio/archive/2008/06/19/1224287.htmlITU 推出G.7XX系列的speech codec, 目前广泛应用的有:G.711,G.723, G.726, G.729. 每一种又有很多分支,如G.729就有g.729A, g.729B and g.729ABG.711:G.711就是语音模拟信号的一种非线性量化,细分有二种:G.711 A-law and G.711 u-law.不同的国家和地方都
2010-12-23 09:27:00 1479
原创 G.711编码实现函数
PCM 和G.711编码相关:http://www.cnitblog.com/tinnal/archive/2009/01/03/53400.htmlG.711编码事例程序:http://blog.chinaunix.net/u3/105635/showart_2267711.html相关函数如下:/** This source code is a product of Sun Microsystems, Inc. and is provided* for unrestricted use.
2010-12-22 18:03:00 988
原创 vc控制台程序事件处理(转)
转自:http://golddzq.blog.51cto.com/1284726/279396BOOL WINAPI ConsoleHandler(DWORD CEvent){DWORD e = 0;switch (CEvent){case CTRL_C_EVENT:e = CTRL_C_EVENT;break;case CTRL_BREAK_EVENT:e = CTRL_BREAK_EVENT;break;case CTRL_CLOSE_EVENT:e
2010-12-22 10:13:00 796
原创 vc 获取当前时间的方法
方法一: http://blog.csdn.net/c_spark/archive/2009/08/14/4446460.aspxsize_tstrftime (char *s, size_t maxsize, const char *format, const struct tm *tp); //格式化输出函数view plaincopy to clipboardprint?#include #include int main (){static char str_time[
2010-12-22 09:51:00 1080
原创 ortp库使用入门(转)
我们知道, RTP(Real-timeTransportProtocol)是用于Internet上针对多媒体数据流的一种传输协议,做流媒体传输方面的应用离不开RTP协议的实现及使用,为了更加快速地在项目中应用RTP协议实现流媒体的传输,我们一般会选择使用一些RTP库,例如使用c++语言编写的JRTPLIB库,网上关于RTP协议以及JRTPLIB库的介绍已经很多了,在此我也不再赘述,文本主要介绍实现了RTP协议的另一种开源库--ORTP库,这个库是纯使用c语言编写,由于我们的项目是基于Linux下的c语言编
2010-12-21 09:44:00 673
原创 VC用ADO访问数据库全攻略(转)
一、ADO概述 ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。ADO 使您能够编写应用程序以通过 OLE. DB 提供者访问和操作数据库服务器中的数据。ADO 最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。ADO 在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。之所以称为 ADO,是用了一个比较熟悉的暗喻,OLE 自动化接口。 OLE DB是一组"组件对
2010-12-21 09:38:00 522
原创 vc中读取wav文件的时长和文件播放的几种方式
读取wav文件的时长:int GetTimeLength()//获取声音文件数据的函数,pString参数指向要打开的声音文件;{HMMIO file;//定义HMMIO文件句柄;file=mmioOpen(".//TTS.wav",NULL,MMIO_READWRITE);//以读写模式打开所给的WAVE文件;if(file==NULL){TRACE("WAVE文件打开失败!");return -1;}char style[4];//定义一个四字节的数据,用来
2010-12-20 17:34:00 1392 2
原创 C++中内存泄漏的检测
转自:http://blog.csdn.net/phinecos/archive/2009/10/29/4745720.aspx首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck,功能非常强大,相信做C++开发的人都离不开它。此外就是不使用任何工具,而是自己来实现对内存泄露的监控,分如下两种情况:一. 在 MFC 中检测内存泄漏假如是用MFC的程序的话,很简单。默认的就有内存泄露检测的
2010-12-20 17:31:00 560
原创 AfxOleInit()和::CoInitialize(NULL)区别及多线程中使用
OLE是建立在COM之上的技术,层次比COM要高。AfxOleInit()调用的是OleInitialize(),而OleInitialize()除了调用CoInitializeEx()来初始化COM库外,还进行一些其它的操作,这些操作对OLE应用来说是必须的,这些OLE应用包括:(1)Clipboard;(2)Drag and drop;(3)Object linking and embedding(现在的OLE,已不再仅仅是Object linking and embedding的概念);
2010-12-18 14:08:00 1640
原创 Windows TTS语音编程
转自:http://blog.vckbase.com/iwaswzq/archive/2009/05/22/22382.html一、SAPI简介软件中的语音技术包括两方面的内容,一个是语音识别(speech recognition) 和语音合成(speech synthesis)。这两个技术都需要语音引擎的支持。微软推出的应用编程接口API,虽然现在不是业界标准,但是应用比较广泛。SAPI全称 The Microsoft Speech API.相关的SR和SS引擎位于Speech SDK开发包中。这
2010-12-18 10:11:00 2655
原创 RTP传输中的负载类型和时间戳(转)
RTP协议包头的格式:10~16 Bit为PT域,指的就是负载类型(PayLoad),负载类型定义了RTP负载的格式,协议原文说该域由具体应用决定其解释。目前,负载类型主要用来告诉接收端(或者播放器)传输的是哪种类型的媒体(例如G.729,H.264,MPEG-4等),这样接收端(或者播放器)才知道了数据流的格式,才会调用适当的编解码器去解码或者播放,这就是负载类型的主要作用。就ORTP库而言,负载类型定义如下:每一种负载类型都有着其独特的参数,这里基本上涵盖了当前主流的一些媒体类型,例如pcmu
2010-12-10 10:49:00 585
原创 osip及eXosip的windows编译开发链接
osip及eXosip的编译方法:http://hi.baidu.com/winnyang/blog/item/ec2b0bb13ddf325f082302a9.htmlVS2005下编译oSip2,eXosip2成DLL的步骤:http://blog.csdn.net/weide001/archive/2008/11/06/3235827.aspxeX.osip3.0.1在Windows下编译方法及简单UA示例:http://blog.csdn.net/lb_zhao/archive/2007/02
2010-12-06 15:37:00 891
原创 Asterisk 1.2.x至1.6.x版本更新分析 (Part of IP PBX产品化预研分析)(转)
转自:http://mbstudio.spaces.live.com/blog/cns!C898C3C40396DC11!4946.entry1. ASTERISK 版本更新*本更新包含内容主要是指从asterisk 1.2.x之后的,产品使用到或将使用到的各功能的更新说明,以及为适应开发将用到的新的asterisk功能的应用说明,目前考虑升级使用1.6.x版本进行产品开发,Asterisk 1.2.x-1.6.x的一个重要的中间版本是1.4(且目前仍为主流的商业应用版本,主要的教材及在线文档仍为1
2010-12-06 14:14:00 1407
原创 Qt中文字符串的设置方法
转自:http://www.qtkbase.com/bbs/showthread.php?t=10在QT中可以直接QTextCodec来转换字符串的编码,这为在QT下开发中文软件带来了便利条件,不过这种方法不符合国际化/本地化的标准:CODE:char *string = "你好,世界!";QTextCodec *codec = QTextCodec::codecForName("GBK");//QTextCodec *codec = QTextCodec::codecForName(
2010-12-06 14:01:00 961
原创 mingw安装及编译ffmpeg
转自:http://jeremiah.blog.51cto.com/539865/126804Jeremiah最近简单的研究了下FFmpeg的编译,主要是用ffplay测试视频文件以和VLC进行下比较。感谢下VLC研究群的Turkeysy和赵跃华的帮助。2009.03.21补充:ffmpeg-0.5正式发布,地址为:[url]http://www.ffmpeg.org/releases/ffmpeg-0.5.tar.bz2[/url]。修改了第7步,可以通过编译。2009.03
2010-12-06 12:54:00 749
原创 oSIP协议栈(及eXoSIP、Ortp等)使用入门(转)
<br /> 转自http://mbstudio.spaces.live.com/blog/cns!C898C3C40396DC11!955.entry<br /> 一直没空仔细研究下oSIP,最近看到其版本已经到了3.x版本,看到网上的许多帮助说明手册都过于陈旧,且很多文档内容有点误人子弟的嫌疑~~ <br /> Linux下oSIP的编译使用应该是很简单的,其Install说明文档里也介绍的比较清楚,本文主要就oSIP在Windows平台下VC6.0开发环境下的使
2010-12-06 11:42:00 2389
原创 linux的strace命令(详解)
本文详细讲述linux下的strace命令的用法。strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。 strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。 下面记录几个常用 option . 1 -f -F选项告诉strace同时跟踪fork和vfork出来的进程 2 -o xxx.txt 输出到某个文件。 3 -e execve 只记录 execve 这类系统调用 --
2010-12-06 11:15:00 773
原创 Linux系统调用-- recv/recvfrom/recvmsg函数详解(转)
Linux系统调用-- recv/recvfrom/recvmsg函数详解2007-09-10 23:37【recv/recvfrom/recvmsg系统调用】功能描述:从套接字上接收一个消息。对于recvfrom 和 recvmsg,可同时应用于面向连接的和无连接的套接字。recv一般只用在面向连接的套接字,几乎等同于recvfrom,只要将recvfrom的第五个参数设置NULL。如果消息太大,无法完整存放在所提供的缓冲区,根据不同的套接字,多余的字节会丢弃。假如套接字上没有消
2010-12-04 11:42:00 1122
原创 Linux下socket设置为非阻塞方式和fcntl系统调用
用以下方法将socket设置为非阻塞方式int flags = fcntl(socket, F_GETFL, 0);fcntl(socket, F_SETFL, flags | O_NONBLOCK);将非阻塞的设置回阻塞可以用int flags = fcntl(socket, F_GETFL, 0);fcntl(socket, F_SETFL, flags & ~O_NONBLOCK);功能描述:根据文件描述词来操作文件的特性。用法:int fcntl(int fd, in
2010-12-04 11:41:00 979 1
原创 点对点语音通信程序笔记链接
浅谈C++中内存泄漏的检测:http://blog.csdn.net/phinecos/archive/2009/10/29/4745720.aspxUDP轻松应用:http://www.vckbase.com/document/viewdoc/?id=1281Message Map 消息映射:http://hi.baidu.com/schoolers/blog/item/ac8a57399ebd15f5b311c7ba.htmlVC录音机程序开发过程:http://www.cnblogs.com/
2010-12-02 16:48:00 885
linux下V4L2+SDL摄像头采集显示程序
2011-05-07
vc视频会议程序源代码
2011-01-08
一个简单的SIP协议栈及其嵌入式UASERVER的实现
2011-01-08
linux下用C编写的OCI连接Oracle数据库程序
2010-12-13
USB软电话驱动开发库
2010-12-02
iptables/netfilter框架分析(图片版)
2010-11-25
vc可用于添加软件远程升级的小工具源代码
2010-09-29
Asterisk,电话未来之路CHN2.pdf
2010-07-03
应用程序打包软件NSIS及chm用户手册
2010-07-03
Activex的socket插件实例
2012-03-23
osip和eXosip在windows下编译的LIB库文件
2012-02-17
MFC可设置背景色边框色文字色的CGroup类
2011-11-22
h264编码和rtp发送的两个vc程序代码
2011-06-16
qt简单显示摄像头程序(基于v4l2)
2011-05-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人