即时消息系统的设计与实现语音通讯模块的实现.doc
《即时消息系统的设计与实现语音通讯模块的实现.doc》由会员分享,可在线阅读,更多相关《即时消息系统的设计与实现语音通讯模块的实现.doc(44页珍藏版)》请在沃文网上搜索。
1、摘要:3ABSTRACT:3第一章 引言41.1 论文背景41.2 国内外研究现状及发展趋势51.2.1 研究现状51.2.2 发展趋势5第二章 关键技术72.1 XMPP协议72.1.1 XMPP协议简介72.1.2 XMPP协议基本网络结构72.1.2 选择XMPP协议的理由72.2 网络通信协议82.3 Socket网络编程92.4 音频捕获技术92.5 音频回放技术92.6 音频采样技术102.7 音频压缩/解压技术102.8 P2P技术10第三章 语音通讯系统的分析113.1 语音通讯系统可行性分析113.2 语音通讯系统需求分析113.2.1 项目总述123.2.2 市场需求分析1
2、23.2.3 用户需求分析123.2.4 软件性能要求133.2.5 软件功能需求133.3 语音通讯系统流程分析143.4 语音通讯系统数据流图15第四章 语音通讯系统的设计174.1 系统结构174.2 开发工具174.3 流程设计184.4 语音通讯系统总体设计194.5 语音通讯系统详细设计194.5.1 登录模块194.5.2 建立连接模块204.5.3 音频捕获模块214.5.4 音频回放模块23第五章 语音通讯系统的实现265.1 构建语音通讯系统的用户登录系统265.2 连接建立模块的实现265.2.1 麦克风相关操作265.2.2 建立通信连接285.3音频捕获模块325.3
3、.1 确定音频格式325.3.2 建立音频捕获对象并为其分配缓冲区325.3.3 打开录音设备335.3.4 开始录音335.3.5 音频压缩并发送给远程主机335.3.6 结束录音345.4音频回放模块的实现355.4.1 确定音频格式355.4.2 建立音频回放对象355.4.3 循环接收音频数据355.4.4 打开回放设备365.4.5 音频解压并回放375.4.6 结束回放375.5常用结构体定义及介绍385.5.1 WAVEHDR385.5.2 WAVEFORMATEX385.6常用winmm.dll方法参数介绍385.6.1 waveOutOpen395.6.2 waveInOpe
4、n395.6.3 waveOutWrite395.6.4 waveOutPrepareHeader405.6.5 waveInAddBuffer405.7本系统的开发难点与解决技巧405.7.1 通信连接的建立405.7.2 语音捕获、压缩、解压、回放415.7.3 音量大小的调节415.7.4 委托、回调和异步41结 语42参考文献:43致 谢44即时消息系统的设计与实现-语音通讯模块的实现 摘要:本论文主要讨论了语音通讯系统的研究与实现,笔者在探讨即时通讯系统在国内外研究现状及发展趋势的基础上,结合当前计算机技术的发展情况,选择使用了Vistudio 2005开发环境和当前比较流行的C#编
5、程语言,结合语音捕获和回放相关知识和Socket相关知识开发了此语音通讯系统。本系统主要包括连接建立、音频捕获、音频回放三大模块,实现了用户登录、通信连接建立、音频数据捕获、数据压缩与发送、数据接收及解压、音频数据回放等功能,重点介绍了通信连接建立、音频数据捕获和回放的实现。在实现方法上,主要采用面向对象编程基本思想,利用C#编程语言将系统分为接口类、音频捕获类、音频回放类、音频压缩与解压类和异常处理类,再加一个公用的结构体类进行实现,并采用了现代比较流行的XMPP协议进行消息发送和建立其语音连接,通过Socket技术实现最终音频数据的发送和接收。最后,本论文对基于C#技术的语音通讯系统的开发
6、设计进行了总结和展望。关键字:音频捕获;音频回放;音频数据压缩;XMPP协议;Instant Messaging System Design and Implementation-the implementation of Audio communications moduleAbstract: This thesis mainly discuss the research and implementation of audio communication system. Based on the research and development trend of instant messag
7、ing at home and abroad, combine with the current computer technology, the author use Visual studio 2005 development environment, C# programming language, audio capture and playback technology, as well as the relevant knowledge of Socket develop the audio communication system. This system mainly intr
8、oduce three modules,including the connection establishment, audio capture, and audio playback , as well as the detailed implementation of the user log on ,the establishment of communication links, audio data capture, data compression and transmission, data reception and decompression, audio data pla
9、yback and so on, focusing on the implementation of the establishment of communication links, audio data capture and playback. On the realization, mainly using basic idea of object-oriented programming, and C# programming language to divide the system into some classes as Interface,Audio caputure,Aud
10、io playback,Audio compression and decompression, Exception handler, and a common type of structure, then use XMPP messaging protocol to establish the audio connections, send and receive data via Socket technique. Finally, the thesis summarize and outlook the development and design of C#-based audio
11、communication systems.Key word: Audio capture;Audio playback;Voice data compression;Xmpp protocol第一章 引言1.1 论文背景随着移动互联网的发展,即时通信技术也得到飞速的发展。自1998年面世以来,特别是近几年的迅速发展,即时通信的功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。即时通信不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。近年来,即时通信市场用户规模增长迅速,市场规模前景广阔。随着互联网
12、用户的快速增长,即时通信用户也日益增长,2004年中国即时通信用户数达7000万人,2005年达到9300万人。中国即时通信市场规模在2005年约为6200万美元, 2006年达到7700万美元,到2010年将达到1.14亿美元。目前在互联网上受欢迎的即时通讯软件包括QQ、MSN Messenger、AOL Instant Messenger、Yahoo Messenger、NET Messenger Service、ICQ等。在这具大的市场份额的诱惑下,众多公司都希望在这一领域有所突破,各大门户网站纷纷挤入即时通信市场跑马圈地;国内的电信运营商也是虎视眈眈。基于即时通信在现实生活中广泛的运用
13、场景和发展趋势,考虑到其在生活中的实用性以及现在市场上流行的即时通信系统的局限性,我们考虑到很多公司其内部的交流需求,所以我们开发了一个可以在局域网内实现在线交流、文件传输、实时语音通讯和视屏通讯等功能的一个即时通信系统。语音聊天是此即时通信系统的一个核心子模块,它采用现代比较流行的网络编程技术,面向各类企事业部门等局域网用户,利用即时通信协议以及相关技术实现在局域网内的实时语音聊天,方便内部人员进行实时交流,共同解决工作生活中遇到的困难,为企事业以及其它的局域网用户带来方便。而传统的一些诸如飞鸽传书之类的局域网聊天工具虽然实现了在局域网内文字聊天、文件传送等一系列功能,但其在语音方面却尚未涉
14、足,给用户的实时交流带来一定的影响。所以,本系统以现在即时通信在现实生活中大量应用为契机,实现了局域网内实时语音聊天,为人们的生活、工作,学习带来了极大的便利。1.2 国内外研究现状及发展趋势1.2.1 研究现状即时通信(IM)是指能够即时发送和接收互联网消息等的业务。自1998年面世以来,特别是近几年的迅速发展,即时通信的功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。即时通信不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。随着移动互联网的发展,互联网即时通信也在向移动化扩张。目前,微软、AO
15、L、Yahoo等重要即时通信提供商都提供通过手机接入互联网即时通信的业务,用户可以通过手机与其他已经安装了相应客户端软件的手机或电脑收发消息。2006年6月,中国移动已经推出了自己的即时通信工具Fetion,中国联通也将推出即时通讯工具“超信”,但由于进入市场较晚,其用户规模和品牌知名度还比不上原有的即时通信服务提供商。 1.2.2 发展趋势目前即时通信行业仍处于高速发展期,通过调查发现,即时通信在未来的发展中呈现出整合多种业务、扩张移动平台、渗透企业用户、融入收费内容的发展趋势。1整合多种业务 随着宽带的普及,即时通信的内涵也开始变化。与过去的纯文本交流不同,新型的即时通信业务融合了视频、音
16、频交流等宽带应用元素。目前各种即时通信除提供了基本的即时互动交流外,还能提供视频、语音通信服务,在短信收发、文件共享、数据传输、游戏、娱乐、个性化设置等方面也都有大的开拓和创新。总之,多媒体化是即时通信未来的发展方向,未来即时通信将捆绑更多的互联网和电信增值业务功能。以腾讯QQ为例,它目前正在大力发展游戏、音乐、用户定制等业务,今后还可能推广新的通信录、博客服务、视频音频等服务。同时,QQ.com已经是个成熟的内容网站,现在访问量已经排名第四,它会和QQ客户端形成一纵一横互相支持的业务模式。2扩张移动平台移动通信业务的迅速发展使得传统的互联网即时通信服务商将移动用户作为下一步市场发展的重点,这
17、在移动增值服务成为即时通信服务商收入的主要来源之后体现尤为突出。即时通信业务承载的设备也趋于多样化,用户通过PC、手机、PDA以及其他设备等都可以使用即时通信。MSN和国内的手机厂商如:多普达、联想等合作,推出自带即时通信业务的手机;腾讯QQ也推出移动QQ的即时通信服务。3渗透企业用户即时通信从个人通信向企业综合通信发展是其发展史上的重要一步。随着企业信息化建设步伐的加快,企业即时通信工具(EIM)也将作为联系和沟通的方式被有针对性地应用在企业的日常生产中,作为企业内外沟通方式之一。企业即时通信应用包括综合信息服务、内部即时通信、在线客户支持服务、在线呼叫、在线广告等。2003年全球企业即时通
18、信市场收入1.19亿美元,随着企业对EIM的了解日益加深,这个数字会继续增长。据预测,全球的即时通信服务用户到2007年将增长至14.39亿户,其中企业用户数量将成倍增长,到2007年将增至3.49亿户。另据Gartner的调查数字显示,2004年在所有使用即时通信的用户中,有约50%是商业用户。4融入收费内容在互联网这个以免费、自由、互通为生存法则的世界里,即时通信从一个免费聊天工具不断生长壮大,吸引聚集了一些忠诚用户。在此基础上,开始搭建网络广告、无线增值等一系列各种潜在的交易平台,增加了收费的内容。未来即时通信行业的盈利点在互联网及增值业务、移动及固网增值业务、广告业务三个方面。其中,互
19、联网及增值业务包括两部分,核心业务主要是即时通信服务,包括传输文本信息、图像、视频、音频以及会员服务、号码服务、电子邮件等;另外还有娱乐资讯门户的建设,包括向用户提供新闻、体育、娱乐等多类资讯,还包括游戏中心、交友中心、校友录、电子贺卡等多种娱乐服务。而移动及固网增值业务则主要是短信互通和部分2.5G产品,如彩信、彩铃下载和自写短信、短信订阅、新闻等多种服务。也就是说,当用户通过手机短信与即时通信软件上的好友聊天,下载或订阅短信、彩信等产品时,通过电信运营商的平台付费,电信运营商收到费用之后再与SP结算分成。第二章 关键技术语音实时通讯涉及到很多方面的技术,在开发的过程中受到诸多方面的制约,在
20、本系统的实现过程中主要运用的关键技术有:2.1 XMPP协议2.1.1 XMPP协议简介XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分:核心的XML流传输协议和基于XML流传输的即时通讯扩展应用。(1)XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上。借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮地完成相关工作。 (2)XM
21、PP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义的,与其他业已得到广泛使用的即时通讯协议,诸如AIM,QQ等有功能完整、完善等先进性。2.1.2 XMPP协议基本网络结构XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。2.1.2 选择XMPP协议的理由XMPP是目前主流的四种IM(IM:instant mes
22、saging,即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。 在这四种协议中,XMPP是最灵活的。XMPP用传送与即时通讯相关的指令是用TCP传XML流,在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行苻的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。这不但使得解析容易了,人也容易阅读了,方便了开发和查错。XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,
23、基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程 序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。这一切也是笔者选择此协议的原因。2.2 网络通信协议网络中不同的工作站,服务器之间能传输数据,源于协议的存在。随着网络的发展,不同 的开发商开发了不同的通信方式。为了使通信成功可靠,网络中的所有主机都必须使用同 一语言,不能带有方言,因而必须开发严格的标准定义主机之间的每个包中每个字中的每 一位。这些标
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
15 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 即时消息 系统 设计 实现 语音 通讯 模块