基于andriod的语音即时通讯软件设计与实现.doc
《基于andriod的语音即时通讯软件设计与实现.doc》由会员分享,可在线阅读,更多相关《基于andriod的语音即时通讯软件设计与实现.doc(39页珍藏版)》请在咨信网上搜索。
1、摘 要 即时通讯是一种基于互联网的即时交流消息的业务,其利用互联网线路,通过文字、语音、视频、文件的信息进行交流与互动,有效的节省了沟通双方的时间与经济成本,自其诞生之日起就获得用户的青睐。传统的即时通讯应用大多基于PC端实现,随着无线技术(3G网络的普及)和以iphone、android为代表的智能手机的流行,越来越多的用户更青睐在移动终端上使用即时通讯业务,尤其是语音IM业务。本文分析了当前即时通讯的发展前景及其主流技术研究状况,并设计实现了一款基于android平台的语音即时通讯软件。本文采用软件工程的管理方法和思想,对项目进行了严格的需求分析及各种用例分析,并提出了合适系统构架(包括服
2、务器和客户端),采用瀑布模型的思想逐步实现软件的各种功能。本系统涉及客户端和服务器两个部分,但出于时间方面的考虑,仅实现了客户端的相关功能,服务器的搭建实现不在本论文的研究范围之内。客户端的设计与实现主要分为客户端界面、网络连接模块及语音控制处理模块三大部分进行分析介绍。其中涉及到的主要技术包括XMPP协议、Android语音录制播放、Speex语音压缩及Android NDK开发的相关知识。本系统基本完成了预期的各种功能,用户可以进行通畅的语音对话,语音质量满意,此外对语音的压缩也达到了预期的要求。整个界面的设计也很人性化,达到了很好的用户体验度。关键词:Android;即时通讯;Speex
3、压缩;语音聊天;XMPP协议AbstractInstant Messaging is kind of Internet-based Instant chatting business, which make use of text,voice,vedio and file to comunicate with each other via Internet. This kind of Service is greatly cost-effective to both chatters and from the day it was born, it has become popular. Tr
4、aditional instant messaging applications are mostly based on the PC side. Along with the development of wireless technology (especially the popularity of 3G network) and the popularity of smart phones such as iphone, and android, more and more users prefer to use instant messaging services on mobile
5、 terminals , especially the voice IM services. This paper analyzes the current prospects for the development of instant messaging and mainstream technology, and designed and implemented a voice instant messaging software based on the android platform.I take advantage of software engineering methods
6、and thoughts, conducted a rigorous needs analysis and a variety of use case analysis, designed the entire architecture of the system (both server and client), tand make use of waterfall model to develop this software. This system involves two parts : the client and server, but for the time considera
7、tions, the design and employ of server is not included in this paper. Design and Implementation of the client is divided into the client interface, network connectivity modules, and voice control processing module three parts to be introduced. Involved techniques includes the XMPP protocol, the Andr
8、oid voice record and play,Speex and Android NDK knowledge. The system basically completed the excepted functions, the user can clearly make voice chatting, the voice quality is also satisfied, In addition ,The design of UI is also very human, and have a good user experience. Key words: Android;IM;Sp
9、eex;Voice Chat;XMPP目 录摘要IAbstractII第1章 绪论11.1 课题研究的背景与意义11.2 Android平台发展概况21.2.1 Android系统构架21.2.2 Android组件31.3 XMPP协议31.3.1 XMPP协议简介41.3.2 XMPP会话模型41.4 语音即时通讯系统的应用前景及发展趋势41.5 本文的主要研究内容5第2章 系统可行性分析62.1 系统调查描述62.2 可行性分析6第3章 系统的需求分析83.1 系统功能用例分析83.2 系统非功能性分析93.2.1 系统界面设计及整体风格93.2.2 系统可扩展性及安全性93.2.3 错
10、误日志和系统国际化10第4章 系统的总体设计114.1 系统总体结构设计114.1.1 系统总体结构114.1.2 客户端设计124.1.3 服务器端设计144.2 数据库设计144.2.1 系统配置信息数据设计144.2.2 SQLite数据库设计154.2.3 安全性164.3 网络层整体构架164.4 XMPP协议174.5 HTTP传输模块184.5.1 HTTP传输模块设计184.5.2 HTTP传输模块实现184.5 消息发送接收模块20 4.5.1 消息发送20 4.5.2 消息接收204.6 XML数据解析20 4.6.1 XML数据解析常用方法20 4.6.2 DOM结点简介
11、21 4.6.3 使用DOM进行xml解析21第5章 系统详细设计与实施225.1 语音录制播放模块设计实现22 5.1.1 android音频系统22 5.1.2 语音录制与播放实现235.2 客户端模块设计与实现23 5.2.1 UI界面设计23 5.2.2 UI界面优化24 5.2.3 通讯模型设计25 5.2.4 语音模块设计25 5.2.5 通知系统设计及其实现265.3 Speex语音处理实现275.4 外部库链接实现28 5.4.1 NDK 简述29 5.4.2 NDK编程实现29 5.4.3 外部库链接编码实现305.5 语音模块测试305.6 语音压缩效果比较31结论33参考
12、文献34致谢3535第1章 绪 论1.1 课题研究的背景与意义近几年,随着iphone以及android phone等智能手机的流行普及,移动互联网发生了爆炸性的增长。据尼尔森相关数据统计,目前移动互联网流量占总流量的比例已有由4年前不到0.2%到目前的10%还要多,并且每年正以百分之几百的增长速度高速发展。在传统互联网发展臻于成熟以后,移动互联网所蕴含的巨大潜力与商机正吸引着无数的创业者并引爆了又一轮的投资潮。2010年10月,一款名为Kik的语音即时通讯软件登在上线的15日内,就吸引了百万的使用者,一举获得了巨大成功。这款软件的成功也让国内许多企图复制企鹅帝国移动终端的人看到了希望。一时之
13、间,模仿者众多米聊、口信、微信以及盛大的KIKI。甚至作为通道的电信运营商自身都加入到这场混战当中。就在刚刚结束的2012MWC巴塞罗那大会上,欧洲的五大电信巨头联合推出了名为“Joyn”的即时手机短信系统。而早在几个月前,中国电信巨头中移动、联通及电信就已经推出了各自的语音IM飞聊、沃友和翼聊。移动互联网的迅速发展给运营商带来巨大机遇的同时,语音类的即时通讯产品却对运营商构成了潜在威胁,做与不做,对运营商而言都是一个尴尬的局面。从Ovum的最新预测报告来看,越来越多的消费者使用基于IP的通信服务,这一现状使电信运营商受到巨大损失。随着基于IP的通信应用程序继续发展,短信收入的损失将会继续加剧
14、。在社交网站Facebook大行其道的当下,社交成为互联网的又一大特性,而这种又特别适合在移动终端使用,或者说,社交自其诞生之日便拥有了移动互联网的基因。智能手机较小的体积(便携性)及强大的信息处理能力在很好的满足了消费者的同时,却又留给了人们一个较大的难题:输入问题较小的屏幕限制了人们手指的灵活性。此时人们或许想到,语音便是解决此类问题的最好方法如果智能手机能够很好的解析我们的语言的话。不过本文并不是探讨如何开发出另一个Siri的。我们要做的事情仅仅就是将你的声音传递给另一个人,你们将在手机上进行间断性的“对话”。我们会发现,这甚至比我们在PC上即时聊天更加方便,因为我们脱离了键盘的束缚;同
15、时,由于我们仅需支付并不昂贵且正在不断下调的流量费,我们比语音通话更加省钱。由于此类产品是跨平台的,所以你可以给任何一个好友发消息,而不管他是哪家运营商(集语音、文本、图片于一体,此时我们不难理解这为什么叫“短信(彩信)杀手”了。虽然这类解决方案看上去并不复杂,但在智能终端即时通讯领域,此种类型的通讯方式正在产生革命性的效果我们再也不需要手动去编织一条条文字的短信,而是将我们的声音活灵活现的展示在朋友的面前。这是科技领域的一小步,但对万千大众的生活而言,这将是一大步,因为这将从根本上改变我们的即时通讯方式和习惯。1.2 Android平台发展概况1.2.1 Android系统构架和其它操作系统
16、一样,Android1的系统架构采用了分层的架构。android分为四个层,从高到低分别是应用程序、应用程序框架、系统运行库和linux核心层。其构架图如图1-1所示:图1-1 Android构架图(1)应用程序:Android 同一系列核心应用程序包一起发布,该应用程序包包括 email客户端,短消息程序,联系人管理程序等。全部的应用程序都使用JAVA 设计语言编写。 (2)应用程序框架:开发人员也可访问核心应用程序使用的API框架。这一应用程序的架构设计可以简化组件的重用,任何应用程序都可以使用其他应用程序所发布的功能块。同时,该应用程序的重用机制也使用户可快捷的调用及更替组件。 每个应用
17、后面都隐藏着很多的服务和系统,包括: 本系统的视图有很好的扩展性,能够用来架构相应程序,它包括lists、grids、text boxes,以及可嵌入的web 浏览器。 内容供应设置使得应用程序可以访问其他应用程序的所有数据,如好友信息库。 或者共享该应用程序的数据。 非代码资源的访问需要特殊管理器的支持,如布局文件等。通知管理器使得应用程序在可以在消息提示栏显示其自主设置的提示信息。 活动管理器用来管理应用程序生命周期并提供常用的导航回退功能。 (3)程序库:安卓包含一些C/C+库,这些库能被 安卓 系统中不同的组件所使用。它们通过应用程序框架为开发者提供开放性服务。 (4)Android
18、运行库:Android 含有核心库,JAVA 编程语言核心库的大部分功能都由这个核心库提供。各个安卓应用程序在其各自的进程中运行,且各自拥有一个独立的虚拟机实例-Dalvik。 (5)Linux 内核:Linux 2.6 内核是Android 所依赖的核心系统服务。同时,软硬件之间的抽象层也由Linux 内核充当。1.2.2 Android组件Activity(活动)、Service(服务)、BroadcastReceiver(广播接收器)以及Content Provider(内容提供商)分别是安卓软件开发的四大组件。其中Activity用来表现系统总体功能,Service为后台正常运行提供服
19、务,但是它不能呈现系统的界面,BroadcastReceiver可以接收广播,Content Provider的功能类似于数据库,能够存储和读取数据。应用程序构建模块如下表:表1-1 应用程序构建模块活动用户界面部件通常对应一个屏幕意向转移设置并回应提示或改变状态并激活应用程序服务没有前端界面的后台任务内容提供应用程序可以共享的数据1.3 XMPP协议1.3.1 XMPP协议简介XMPP是一种分散式的网络协议,它是一种基于服务器的互联网标准。XMPP采用C/S结构,主要用于通过GPRS连接的即时信息。客户端,服务器端和协议网关是XMPP的三大重要组成部分。1.3.2 XMPP会话模型XMPP实
20、体之间相互传送数据使用XML流。当XMPP的客户端连接到服务器时,这个XMPP的客户端会和服务器端都会发起XML流,连接到对方,以实现信息交流的目的。XMPP是基于异步的会话模式,在通信过程中,发送者可以不等接收者回复而继续执行,接收者无需对发来的消息立即进行处理,而是可以自行选择合适的时间处理此消息。这使得基于XMPP的会话更加方便。1.4 语音即时通讯系统的应用前景及发展趋势以语音聊天为特色即时通讯软件在传统的PC端已经成为即时通讯的一个重要应用,但随着无线技术的发展,特别是3G网络的普及,特别是以IPhone、Android为代表的智能手机以其智能、便携等特性,迅速成为人们的新宠。在移动
21、智能终端大行其道的背景下,PC端语音即时聊天功能受到极大限制,其弊端日益显现。与此同时,基于移动智能终端的语音即时通讯类软件却迅速蹿红,以此类应用软件的鼻祖KIK为例,在其上线的15天内便吸引了超过100万的用户。更是由于,基于移动网络智能终端的该类软件,很有可能给运营商带来丰厚利润的短信和彩信业务造成致命威胁,语音即时通讯软件甚至被冠以“短信杀手”的称号。在这之后,移动互联巨头,甚至网络运营商都纷纷推出类似的产品,其背后巨大的商业潜力可见一斑。在社交文化越来越浓厚的当下,单纯以语音通话为特色的该类软件已经很难打动消费者,越来越多的语音即时通讯软件加入了更多的社交元素:状态更新、图片应用、以及
22、基于LBS的地理位置服务甚至电子商务等信息的融合以满足日益庞大的用户。总而言之,将来语音类即时通讯软件将以语音通讯为主打特色,同时将更多的融合轻量级的社交元素、社会化媒体元素、电子商务、LBS服务等,并呈现出易用性、社交化、多极发展等特点。毋庸置疑,语音即时通讯软件已经逐步成为移动智能终端一大不可替代的应用并在将来会取得更大发展,成为杀手级应用之一。1.5 本文的主要研究内容 本文在内容安排上采取先介绍系统构架设计然后再分别介绍每一个部分的方法来组织安排,并在每一个部分穿插介绍其中所需用到的关键技术及其实现。由于本系统涉及服务器和客户端两个方面(其中服务器的部署实现不在本文的研究范围之内),本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 andriod 语音 即时通讯 软件设计 实现
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。