




已阅读5页,还剩55页未读, 继续免费阅读
(信号与信息处理专业论文)智能手机终端的双工语音及通信设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能手机终端的双工语音及通信设计与实现 摘要 随着嵌入式技术的快速发展,智能终端逐步走向智能化、多样化, 逐渐趋向个人电脑的标准,拥有了强大的c p u 处理能力、较大的内 存和更多扩展能力。 智能手机厂商在智能手机中提供了具有无线接入( w i f i ) 功能 的硬件模块和软件模块,并提供了功能模块开放的接口( 包括应用编 程接口以及硬件接口【l 】) 。 w l a n 接入服务应用于智能手机实现了手机接入到i p 网络,为 用户提供了免费浏览网络、无线个人数据管理、收发电子邮件以及多 媒体数据通信功能。 本论文是整个智能手机v o i p 系统设计中的一个子系统模块,包 括三部分:全双工语音通信设计、w j _ , a n 接入服务和r t p ( s o c k e t ) 通信。 本论文是以n o k i ae 6 1 手机作为硬件平台,设计了基于s y m b i a n o s 操作系统的客户端朋艮务器架构的全双工语音通信机制。服务器 a p s ( a u d i o p r o x ys e r v e r ) 是智能手机中的一个服务器的组件,提供 了访问手机播放和录制音频子系统,并提供了第三方开发音频数据服 务的a p i s 。客户端实现了与a p s 服务器之问的通信,并负责将接收 和发送的音频数据传输到缓存队列。 分析了i e e e 8 0 2 1 1 协议,并基于n o k i ae 6 1 手机平台设备支持 i e e e 8 0 2 1 l b g 两种无线接入标准,实现了通过调用s y m b i a no s 操作 系统底层的a p i 创建w l a n 接入点、状态设置、网络模式、安全模 式、安全设置等。 同时在客户端应用程序中分别实现了r t p 实时通信和s o c k e t 通 信功能模块。r t p 通信模块建立在s o c k e t 通信模块之上。当w l a n 接入到i p 网络的时候,音频数据包首先进行r t p 头封装,然后通过 u d p 方式并进行端到端的语音数据传输。 关键词:s y m b i a no s 、w l a n 接入、a p s 、r t p 、s o c k e t 通信 t h ed e s i g na n dd e v e l o p m e n t0 f f u l l d u p l e xa u d i oa n d c o m m u n i c a t i o nb a s e do ns 【a r tp h o n e a bs t r a c t w i 也t h ed e v e l o p m e n to fe m b e d d e dt e c h n o l o g y ,m o b i l ep h o n ei s b e c o m i n gi n t e l l i g e n t ,a d v a n c e da n dh a ss t r o n g e rc p uh a n d l i n ga b i l i t y , m o r em e m o r ya n dm o r ee x t e n s i b l ea b i l i t y t h es m a r tp h o n em a n u f a c t u r e rp r o v i d e st h ew i r e l e s sa c c e s s ( w l a n ) h a r d w a r em o d u l e sa n ds o f t w a r em o d u l e si ns m a r tp h o n ea n dt h ep u b l i c w l a na p i si nm o b i l ep h o n e i n c l u d i n ga p i sa n dh a r d w a r ei n t e r f a c e w i t ht h ea b i l i t yt oa c c e s st h ei pn e t w o r ku s i n gw l a n t h es m a r t p h o n ep r o v i d e st h eu s e rt h ea b i l i t yt ob r o w s et h ei n t e r n e t ,w i r e l e s s p e r s o n a ld a t aa d m i n i s t r a t o r ,a n d s e n do rr e c e i v et h ee m a i la n d m u l t i m e d i as e r v i c e s t h i st h e s i si sa p a r to f v o i p p r o je c t ,a n di n c l u d e st h r e ep a r t s : f i r s t ,f u l l d u p l e xa u d i ob a s e do nt h en o k i ae 6 1 p l a t f o r m ,d e s i g na n d d e v e l o pt h ef u l h u p l e xa u d i oc o m m u n i c a t i o nb a s e do nt h ec l i e n t s e r v e r a r c h i t e c t u r eo ft h es y m b i a no s a p s ( a u d i op r o x ys e r v e r ) i su s e da sa s e r v e rc o m p o n e n tt h a tp r o v i d e sa c c e s st o $ 6 0a u d i os u b s y s t e ma n dt h e3 m d e v e l o p m e n ta p i s 、d e v e l o p e dac l i e n tt oa c c e s st h ea p ss e r v e ra n d r e c e i v eo rs e n dt h ea u d i od a t at oq u e u eh a n d l e r s e c o n d ,a n a l y z et h ei e e e8 0 2 1 1p r o t o c o l ,b e c a u s et h en o k i ae 61 s u p p o r t st h ei e e e 8 0 2 1 1b gw l a ns t a n d a r d w ed e v e l o pt h ew l a n a c c e s s p o i n t ,s t a t es e t t i n g s ,n e t w o r km o d e ,s e c u r i t ym o d e ,s e c u r i t y s e t t i n g su s i n g 几a na p i s t h i r d ,w er e a l i z et h er e l i a b l ec o m m u n i c a t i o nb yr t pa n ds o c k e t c o m m u n i c a t i o n t h er t pi sb u i l to nt o po ft h eu s e rd a t a g r a mp r o t o c o l ( u d p ) a u d i od a t ai se n c r y p t e db yr t ph e a d e ra n dt h e nt r a n s f e r r e dt o t h ei pn e t w o r ku s i n gu d pw h e nt h ew l a na c c e s st oi pn e t w o r k k e yw o r d s :s y m b i a no s ,w l a na c c e s s ,a p s ,r t p ,s o c k e t c o m m u n i c a t i o n 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:区丝煎日期:星! ! 哇圣旦! 墨旦 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名:星| 幺锰盈二 刷磁轹刁瓣 日期:童塑盎捆幽一 日期:渔礁之旦幽 北京邮电大学 智能手机终端的双工语音及通信设计与实现 1 1论文背景 第一章绪论 随着计算机技术和移动通信技术的快速发展,手机终端通过与个人计算机 快速融合,已逐步走向智能化、多样化,逐渐趋向个人电脑的标准。智能终端可 以支持多媒体数据处理、加大了语音和数字信号的传输量和处理能力,同时也给 第三方应用研发创造了广阔的市场,尤其是无线数据业务和数据多媒体业务。 近年来,全球手机生产厂商领导纷纷推出了具有强大c p u 处理能力和较大 内存的智能手机,提供了具有无线接入( w i f i ) 功能的硬件模块和软件设计实 现模块。并提供了功能模块的开放接口( 包括应用编程接口以及硬件接口) 。这 些具有开放接口的功能模块使手机通过w l a n 接入到i n t e m e t 成为现实,带来了 无线数据业务的蓬勃发展,显示出了在未来所蕴含的巨大的发展潜力。目前基于 i p 进行多媒体数据业务的传输也已经成熟和完善,基于i p 的免费的多媒体数据 业务给第三方应用研发创造了广阔的市场f 。 作为无线网络之一的无线局域网w l a n ( w i r e l e s sl o c a la r e an e t w o r k ) 是 利用无线通信技术在一定的局部范围内建立的网络,是计算机网络与无线通信技 术相结合的产物。w l a n 以无线多址信道作为传输媒介,提供传统有线局域网 l a n ( l o c a la r e an e t w o r k ) 的功能,能够使用户真正实现随时、随地、随意的 宽带网络接入服务。 w l a n 具有易安装、易扩展、易管理、易维护、高移动性、保密性强、抗 干扰等特点。随着应用的进一步发展,w l a n 正逐渐从传统意义上的局域网技 术发展成为“公共无线局域网”,成为国际互联网i n t e r n e t 宽带接入手段。满 足了人们实现免费移动办公的梦想,为传输无数据业务提供了免费的无线传输网 络。为我们创造了一个丰富多彩的自由天空。 智能手机提供了完善语音数据业务的硬件模块,强大的c p u 处理能力可以 支持更多的音频编解码格式,具有了更强的音频编解码能力。对语音业务的处理 能力更加强大,并支持第三方开发基于语音数据业务应用程序。使得在智能手机 上开发丰富多彩的语音数据业务成为可能。 北京邮电大学智能手机终端的双工语音及通信设计与实现 1 2本论文主要研究工作 本论文是智能手机终端的全双工语音及通信设计与实现。我们使用基于 s y m b i a no ss e r i e s6 0 的智能手机,目的是实现通过口网络而不通过运营商的网 络传输语音数据业务。首先通过w l a n 无线接入的方式实现了手机的i p 网络接 入;其次通过s i p 信令注册用户到s i p 服务器或者i m s 服务器;用户注册成功 以后就可以进行语音呼叫服务。本论文主要实现了以下几个重要的模块: ( 1 ) 全双工语音机制设计与实现:实现基于a p s 服务器的客户端与服务器 的通信,创建录制和播放线程,实现了数据的播放和录制功能,创建缓存队列, 实现了数据的接收和发送处理。 ( 2 ) w l a n 的无线接入模块:w l a n 无线接入模块完成了w l a n 的接入 点、状态设置、网络模式、安全模式、安全设置、接入点密钥设置等参数设置和 w l a n 状态管理、本地网络搜索等功能。 ( 3 ) 通信功能模块:分为r t p e n g i n e 和s o c k e t e n g i n e 两个模块部分,r t p 实时通信是建立在u d p 通信之上,保证了端到端的数据通信的实时性和可靠 性。通过调用r t pa p i s 实现了r t p e n g i n e 类,提供了建立r t p 会话、创建 r t p 发送和接收s t r e a m 流,r t p e n g i n e 类的底层a p i 实现了u d p 数据通信的 封装。s o c k e t e n g i n e 实现了u d p 通信机制的设计,实现了没有r 即时,语音 数据包的发送和接收功能。以及通信协议的选择,通信接口的编制【1 1 。 北京邮电大学 智能于机终端的双工语音及通信设计与实现 第二章s y m b i a no s 操作系统的介绍 随着计算机技术和移动通信技术的快速发展,手机设备通过与个人计算机快 速融合,已逐步走向智能化、多样化,伴随而来的是智能手机操作系统的发展。 到目前为止,市场上总共有四大主流智能手机操作系统:微软移动系统、s y m b i a n o s 系统、p a l m 系统、l i n u x 系统。 本论文的应用开发是基于s y m b i a no s 系统的,本章简单介绍一下s y m b i a n o s 操作系统特点和开发流程,本章是开发基于s y m b i a no s 应用程序的基础。 2 1 s y m b i a no s 操作系统概述 s y m b i a n 公司成立于1 9 9 8 年,是一家软件授权公司,开发和授权面向支持数 据的先进移动电话所需的s y m b i a n 操作系统,这是一种全球开放的行业标准操作 系统。 s y m b i a n 操作系统是一个独立的智能手机操作系统,它是由许多重要的非集 成的模块和一个集成的内核组成的。它可以满足智能手机的多项功能,如通话、 短信和多媒体设备处理。并且为第三方研发提供了高效、可靠的操作平刽2 1 。 应用于无线设备:s y m b i a n 给他的授权者带来一个高级的、开放的、标准 的操作系统。s y m b i a no s 是一个灵活的、可定制的平台,可以被应用于各种各样 的手机、满足更多用户的需求。s y m b a i no s 完全支持万维网协议。 提供标准的无线服务:使用开放的标准有助于全球网络协同工作,并允许 移动手机通过无线网络在任何时问、以任何方式和任何人交流。s y m b i a no s 操作 平台提供了先进的无线介入数据服务功能。 允许第三方应用开发人员丌发高级的无线服务 第三方软件丌发者可以在第一时问内为全球市场的先进的、开放的、可编程 的移动手机开发应用程序和服务。s y m b i a n 平台一系列的标准应用程序开发接口 和先进的计算及通讯能力使得开发高级的服务成为可能。 由上面的介绍可以归纳出s y m b i a no s 的平台的三个显著特点:开放、标准、 可升级。 开放性:指的是s y m b i a no s 平台的s d k 是免费提供的,并且同时提供了大量 北京邮电大学智能手机终端的双工语音及通信设计与实现 的开发资料和帮助,第三方可以方便利用这些资源开发s y m b i a no s 应用。 标准性:指的是s y m b i a no s 平台提供了对g s m 协议、w l a n 网络协议、蓝牙协 议等等规范的完美支持,用户可以使用s y m b i a no s 智能手机和其他遵循的标准的 设备互相进行通信。 可升级性:是由开放性决定的,通过第三方的开发工作,s y m b i a no s 平台可 以不断的增加对新兴服务标准的支持,从而实现可升级性。 事实上,s y m b i a no s 也正是凭借这些显著特点逐渐的获得开发商和市场的 青睐,成为当今最流行的智能手机操作平台之一。 2 2 s y m b i a no s 的开发流程 2 2 1 安装s d k 并进行设置 s y m b i a no s 在s e d e s6 0 开发平台支持两种集成设计环境,分别是m i c r o s o f t v i s u a ls t u d i o 和m e t r o w e r k sc o d e w a r r i o r 。 本论文主要使用了m i c r o s o f tv i s u a ls t d i on e t 2 0 0 3i d e 开发环境。应用开发 工具包为s y m b i a n9 1s e r i e s6 0s d k3 m 。操作系统为w i n d o w s2 0 0 0 ,w i n d o w s x p ,支持的硬件平台为n o k i ae 6 1 手机和w l a n 无线接入点。 对于s e r i e s6 0c + + 的软件开发包( s d k ) 。读者可以从 h t t p :w w w f o r u m n o k i a e o m t o o l s 和h t t p :w w w n o k i a c o m c n 网页下载s d k 。 s e r i e s6 0 的安装十分简单,只需要按照提示的安装即可。如果可以,尽量 安装s d k 到默认的目录下,同时要保证足够的磁盘空间。 图2 - 1 描述了在w i n d o w sx p 操作系统上安装s e r i e s6 0s d k 3 r a 系列的环境 变量参数的配置。通过e p o c r o o t 环境变量配置来向w i n d o w s 系统声明导向这 个根目录的整个路径【3 i 。 e p o c r 0 0 t 、s 肿bia i l 、91k s 6 0 _ 3 rd _ f l r 确定 l取消 图2 - 1 通过环境变量配置向w i n d o w s 系统声明该根目录f 3 1 s y m b i a no s 中,可以用两种方法来构建应用程序。第一种选择是在d o s 平 台命令行中使用命令行构建工具。第二种选择是从集成设计环境i d e 下构建应 北京邮电大学 智能于机终端的双工语占及通信设计与实现 用程序。 2 2 2 命令行编译并下载到手机 从命令行创建应用程序的过程可用如图2 2 所示的流程描述。打开一个项目 文件夹中包含三个文件:源文件,项目定义文件( * m m p ) ,组件定义文件 ( b i d i n f ) 。 b l d m a k eb l d f i l e s 命令将产生一个新文件,即a b l d b a t 该文件无需进行编 译。 a b l db u i l dw i n su d e b 或a b l db u i l dw i n su r e l 为s e r i e s 6 0 调试仿真器软件创 建项目。 a b l db u i l dw i n su d e b 命令构建一个具有调试信息的针对w i n s 平台的 u n i c o d e 版本。 a b l db u i l dw i n su r e l 将构建一个针对目标设备的u n i c o d e 应用的发布版本。 a b l dm a k e f i l ev c 7 命令生成v c 7 所需要的项目文件。 m a k e s i s 宰p k g 命令生成可以在手机上运行的安装包木s i s 文件。 图2 - 2 编译链接打包流程 1 1 2 2 s y m b i a no s 的架构体系 2 3 1 s y m b i a no s 操作系统的架构 s y m b i a no s 系统拥有一整套的功能组件可以实现不同的应用。图2 3 所示 为s y m b i a no s 系统的组件架构。 北京邮电大学 智能手机终端的双工语音及通信设计与实现 e n g i n e s a 坚c n d :i ( 1 0 n t a c t s( ) f r i c o m c l s a g j j l 苎 1 3 f 【) 、s i n l r 、一一了1 _ 二 一- m i d d l e 1 1 a v a 1 i i ) l 、i a v a p h ( h i l t、,1 、 1 1 、 : w a l e x v m ,p c r m i m m e s s a g i n ;三 ! _ a p p i c a t i q nf ? 1 a m j y o r k lp 【j i 1 ,、! _ :! jl 卜。x : ( j 1 1 ;_ 1 1 1 1 c , t ) r k | i c x ( i i a p h i c 、 一 一 ( 1 ,i l l i l l i ( _ | ) i i ii w 八i | ) c l s t ) l gl l la i l c a r - - _ 一 一一i n c 【、1 k i n b il i cr ( 1 【,t hi | i 与b ”f e l e p h l n vi ( j s 1 ( ;p i t s( i ) 1 a m u l t i r n c d i a _ l j l 囊曩画v i d e o l 沁掣泛m :觥裂热般邮训、。 b a s e s c t - ,l v i e c , k ! :;f l x i b 。r 。a 。r 。 i v c l d c 。i c ci ,“v e r s l | i i t2 - 3s y m b i a no s 的架构体系【2 】 1 、基础: 整个系统的中心就是这个基础地盘。它是完全封闭的并且具有最核心的功能 用户库、文档服务器、核心程序以及设备驱动。 2 、通话子系统: 童话子系统建立在整个基座之上,为客户端提供了多样的a p i 。另外蜂窝网 络技术也被添n n ts y m b i a n 系统中,使s y m b i a no s 可以支持网络:g s m 、 g p r s 、e g d e 、c d m a 、3 g p p 2 及3 g p pw c d m a 。 3 、通信基础结构: 通信基础子系统主要是由键盘和通信网络的系统服务组成的。双模网络栈能 够同时支持i p v 4 和i p v 6 。这个i p 栈提供了一种嵌入式结构s y m b i a n 授权者进 一步的拓展。s y m b i a no s 的网络支持服务中包含了以下协议:t c p 、u d p 、i c m p 、 h t t p 和w a p 。 4 、信息: s y m b i a no s 系统架构中支持s m s 、e m s 、m m se m a i l 和传真功能。 5 、多媒体功能: 多媒体构架提供了一个轻量多线程的架构来管理多媒体数据。提供了录音回 放、音频数据流和图像有关的功能。 6 、应用引擎: 核心应用引擎包含了:议程管理、计划管理、联系模式、表格管理、数据应 用和字符应用等。 7 、应用架构: 系统的应用架构建立在运行以c h 和j a v a 编译的第三方程序的基础之上。 北京邮电大学 智能手机终端的双t 语音及通信设计与实现 最为关键的服务系统运用是在用户交换的组件上。 8 、个人网络连接: s y m b i a no s 系统支持相当的连接技术:蓝牙、串口、u s b 、红外以及局域 网。 9 、安全性 由于提供了对于t l s s s l 、i p s e c 等协议的支持,安全子系统能够对数据打 包加密,而且还支持软件的数字签名。 2 3 2 应用程序架构 基于s y m b i a n o s 平台s e r i e s 6 0 系列的应用程序典型的架构,主要有传统 s y m b i a no s 控制结构、基于对话框的结构、视图结构。 1 传统s y m b i a no s 应用架构 在传统的做法中,s y m b i a no s 应用程序使用在控件栈中自定义的 c c o e c o n t r o l 派生类作为应用程序的视图类( 即处理用户的交互部分) ,由应用程序 控制这些派生类的创建销毁、显示隐藏等相应操作。这种方法非常适用于 a v k o n 的应用程序。因为很多a v k o n 的应用程序都基于这种传统的架构方式, 这可以保持a v k o n 风格的统一。 这种架构风格的优点在于给开发者提供最大的便利性。而缺点在于缺少系统 提供的视图类管理机制,当然从另一角度讲,程序员也无须去关心这种视图类管 理机制所带来的限定。 2 基于对话框的架构 基于对话框的架构指应用程序的主要视图处理通过对话框实现。一种特例是 主视图类作为对话框运行( 即程序的主运行界面为对话框的形式) 。嵌套的对话框 可以用来实现多视图类的切换的应用程序。使用对话框的好处在于程序中的内 容和布局可以直接通过修改资源文件得以实现。而不需要修改程序。必须要注意 在使用嵌套的对话框时有可能浪费很多的堆栈空间。 3 基于视图的架构 基于视图的架构已经集成在v c + + 的模板中,用户可以直接生成。a v k o n 已经把这种架构修改的更符合s e r i e s 6 0 的应用程序使用。 使用基于视图应用程序都有一个激活的视图,当该程序另一个视图被激活 时,当前的视图就被休h 民。当一个视图休h 民时,所有的菜单、对话框、或者视图 中内嵌的一些操作就被关闭。当应用程序完全控制自己的视图切换时,它可以提 供用户选择如何处理视图的切换。如果视图切换中断了其他的应用程序,那么它 必须对这个应用程序的数据进行保存,以便用户可以在将来恢复。值得注意的一 北京邮电大学智能于机终端的双工语音及通信设计与实现 点是,应用程序的休眠和激活与应用程序中视图的休眠和激活是不同的,前者并 不能影响后者。 每个视图的派生类都可以看作一个小的应用程序u i ,它必须提供i d o 函数供 系统识别,而且它必须重载d o a c t i v a t e l 0 ,d o d e a c t i v a t e 0 , h a n d l e f o r e g r o u n d e v e n t l 0 ,h a n d l e c o m m a n d l 0 ,h a n d l e s t a t u s p a n e s i z e c h a n g e 0 函数处理各种事件 2 1 。 d o a c t i v a t e l0 :当客户端请求视激活时,该函数被调用。在这个函数旱, 客户端可以选择是否传递参数到自己的视中。当视被重新激活时,这个函数只有 在客户端请求视再次激活时被再次调用。用户重载的该函数必须能够处理这种情 况,即当你的视在激活状态时,该函数又被调用。 d o d e a c t i v e ( ) :当应用程序离开,或者其他的视被激活导致了当前的视被休 眠,该函数被调用。 h a n d l e f o r g r o u n d e v e n t l 0 当用户视在调用。o a c t i v a t e l 0 和。d o d e a c t i v a t e 0 之间时,该函数被调用。当用户视跳到前台,将调用h a n d l e f o r g r o u n d e v e n t l ( e 1 r m e ) ,当用户视跳到后台,将调用h a n d l e f o r g r o u n d e v e n t l ( e f a l s e ) 。该函数只 有在前后台状态实际变化时才被调用。值得注意的是,该函数在用户视激活的一 段时间内有可能被调用几次。用户可以使用这个函数控制焦点或者屏幕的更新。 h a n d l e c o m m a n d l 0 :当处在激活状态的视对应的菜单命令被执行时,调用该 函数。 h a n d i e s ta t u s p a n e s i z e c h a n g e 0 :客户区的尺寸变化导致t 状态栏的变化时, 调用该函数。一个视图经过一个完整的激活休眠循环,以上函数典型的调用顺序 如下: d o a c t i v a t e l ( ) h a n d l e f o r e gr o u n d e v e n t l ( e t r u e ) h a n d l e f o r e gr o u n d e v e n t l ( e f a l s e ) d o d e a c t i v a te ( ) 视图的资源文件一般都定义在木r s s 文件中。如果没有指定视图的菜单资源, 视图将使用应用程序的菜单。 r e s o u r c ea v k o n v i e wr v i e w a p p _ v i e w h o t k e y s = r v i e w a p p _ h o t k e y s ; m e n u b a r = rv i e wm e n u b a r ;视图对应自己的菜单资源 c b a = r _ a v k o n _ s o f t k e y s o p t i o n s b a c k ; ) 北京邮电人学智能于机终端的双工语音及通信设计与实现 视图的创建:c a k n v i e w 的实例可以在应用程序的u i 层的构造函数c o n t m c t l 中创建,然后调用a d d v i e w 函数对增加的类进行注册,当设定某个初始化的视图 为默认的视图后,该视图将被激活。 2 4 s y m b i a no s 应用程序设计模式 为了提高代码的可维护性和灵活性,s y m b i a no s 应用程序采用了一种常用 的设计模式:m v c ( m o d e l v i e w c o n t r o l l e r ) 模式。应用程序一般被组织为两个 主要部分:引擎( e n g i n e ) 和用户界面( u i ) 。引擎( e n g i n e ) 中包含了应用数 据的数据结构、算法以及其他数据常量。引擎可以是一个独立的d l l 。如果需 要同时给多个应用程序提供服务,或者需要异步的数据共享时,它还可以按 照e x e 服务器方式实现。用户界面( u i ) 则一般分为数据的屏幕显示界面,视图 界面的切换以及决定应用程序所有用户操作的处理器模块【l 】。s y m b i a no s 应用程 序的引擎和用户界面的分离如图2 4 所示 图2 4 引擎和用户界面的分离【1 i 北京邮电大学智能手机终端的双工语音及通信设计与实现 第三章智能手机语音数据系统架构设计 3 1 基于s i p 协议的客户端的通信业务模型图 个人到个人的i p 连接 紫 ;节= 秽吁 貔爹i l 蘩囊i 壁碧裂 缝参i ; 雾;翳,器系;i ;鬟鬟 i p 多攥体洼麓黼遴缓箍理殿貉 l p 务器 嚣 l p 彩缀络绞移 。 ; s i p 、一, i p 图3 - 1 语音数据业务系统模型图 图3 - 1 是一个基于s i p 的端到端v o i p 语音服务系统上层架构图,客户端通 过w l a n 接入到i n t e m e t ,并通过s i p 信令实现了到i p 多媒体核心一口多媒体 注册服务器的注册,客户端通过s i p 信令发起会话服务,由i m s 服务器根据 s i p u r i 查找被叫方是否注册或者登录,并通过口网络连接到被叫方。由会话 描述协议( s d p ) 协议实现了端到端的多媒体会话的初始化协商,最终实现端到 端的基于t l 印仰或u d p i p 网络的多媒体语音数据业务。 3 2 基于s i p 的客户端系统设计架构图 根据客户端的功能,以及基于s y m b i a no s 系统的软件设计体系,我们设计 北京邮电大学智能手机终端的双工语音及通信设计与实现 了基于s i p 的客户端系统架构图,如图3 2 所示。系统中的五个引擎都设计成链 接库文件( d u 和1 i b ) 为上层调用提供了更加方便的接口。 图3 2v o i p 整个系统的架构设计 客户端系统共分为了六个功能模块: p h o n eu i :此模块实现了程序的u l 界面及用户之问的交互操作。并与 p h o n e e n g i n e 实现了信息的交互。 p h o n e e n # n e :客户端的控制引擎,采用了状态设计模式,控制客户端的 状态和相关操作。从而实现了对s t r e a m e r e n g i n e 和w l a n e n g i n e 和 s i p e n g i n e 之间的协作功能。维护整个程序的不同状态。 s t r e a m e r e n g i n e :通过调用r a p s s e s s i o n 类的a p i s 实现了与a p s 【4 】【5 瑁艮 务器之间的通信。提供第三方应用程序访问a p s 服务器输入和输出音频 资源功能的相关a p i 接口,并提供了控制a p s 服务器资源的一系列 北京邮电人学智能于机终端的双工语音及通信设计与实现 a p i s 。提供四个r m s g q u e u e 对象实现了通信和数据的传输。并且通过 调用c o n n e c t ( ) 方法启动a p s 服务器和获得音频资源。另外, s t r e a m e r e n g i n e 创建2 到4 个r m s g q u e u e 全局对象提供播放和录制。 w l a n e n g i n e :实现了调用s y m b i a no s 提供的w l a na p i s 创建接入点、 状态设置、网络模式、安全模式、安全设置等接入服务操作。 s i p e n g i n e :调用s y m b i a no s 的s i p 协议栈完成了s i p 流程,响应s i p 事务,并对接收事件向p h o n e e n g i n e 发出通报,s i p e n g i n e 主要完成了读 取s i p 设置、s i p 消息头的定义、s d p 描述定义和s i p 事件响应。 r t p e n g i n e 和s o c k e t e n g i n e :s o c k e t e n g i n e 模块实现了建立与s o c k e t s e r v e r 之间的通信。使用u d p 无阻塞通信方式负责发送和接收语音数 据。r t p e n g i n e 模块是在s o c k e t e n g i n e 模块之上封装了r t p 实时传输协 议,从而保证音频数据的实时性和可靠性传输。 s y m b i a no s 主要提供了底层的a p i 和系统平台的环境。 北京邮电大学 智能手机终端的双工语音及通信设计与实现 第四章智能手机全双工语音机制的设计与实现 4 1a p s ( a u d i o p r o x ys e r v e r ) 介绍 4 1 1a p s 系统框架 a p s t 4 j t s ( a u d i op r o x ys e r v e r ) 是一个基于s y m b i a no s 的智能手机客户端 服务器架构的组件,提供了访问$ 6 0 音频子系统的功能,并提供了v o i p 第三方 应用开发的a p i 。 a p s 服务器是对d e v s o u n d ( c m m f d e v s o u n d ) s t r e a m 的封装。支持了录制 和播放全双工功能;声音采用了低比特率的编解码进行压缩,提供了语音的各种 编码功能;提供了外置扬声器的控制功能;并能够录制和播放交换电路语音 s t r e a m 流。 基于s y m b i a no s 系统的多媒体系统框架中提供了音频s t r e a m 流的a p i ,主 要有c m d a a u d i o o u t p u t s t r e a m ,c m d a a u d i o l n p u t s t r e a m 和c m m f d e v s o u n d ( 音 频硬件的底层接口) 。 为了使用a p s ,智能手机终端需要初始化播放和录制音频s t r e a m 流的优先 级:a u d i op r i o r i t y 和a u d i op r e f e r e n c e ( t m d a p r i o r i t y p r e f e r e n c e ) 。a u d i op r e f e r e n c e 定义了音频客户端的分类和应用规则。 图4 - 1 给出了a p s 音频代理服务器的系统架构图。 北京邮电大学智能手机终端的双工语音及通信设计与实现 4 1 2a p s 客户端 图4 - 1a p s 系统架构图【4 】 a p s 客户端通过类r a p s s e s s i o n 提供的接口实现了与a p s 服务器建立通 信信道的功能; 在主线程中初始化服务器会话,主线程实现了到$ 6 0 平台输出设备的音 频播放器接口。 初始化输入线程实现了用d e v s o u n d 录制音频数据。通过消息队列 实现了输入( 录制) 和输出( 播放器) 之间的消息通信机制。 客户端传递初始化音频参数( 音频编码、信道号、比特率、音频优先级 和设置) 给音频服务器,实现了播放和录制设备的初始化设置。 实现了对音频编解码的接口的选择。 启动录制和播放音频s t r e a m 流。 停止录制和播放音频会话,当停止播放后,客户端应用程序可以通过重 启音频s t r e a m 流继续使用初始化的资源,不需要重新初始化录制和播放音 频s t r e a m 流。 触发和关闭扬声器一实现了通过s e r v e r 打开和关闭音频转换器和扬声器 【4 1 。 北京邮电大学智能手机终端的双t 语音及通信设计与实现 4 1 3a p s 服务器 客户端发送了c o n n e c t ( ) 连接请求以后应用程序将启动a p s 服务器。并处 理来自a p s 客户端的会话请求。 a p s 服务器使用了独立的线程来处理输入和输出的音频数据。a p s 服务器 主要实现了如下功能: 创建输入和输出线程。 处理客户端的请求,并在主线程中控制输出音频s t r e a m 流。 在录制线程中实现了音频的采样。 通过消息对列实现了输入和输出线程与客户端线程之间的通信。 d e v s o u n d 模块为a p s 服务器提供了音频录制和播放功能。a p s 服务器要求 必须实现一种基于d e v s o u n d 的语音编解码,固定帧长度小于1 6 4 b y t e s ,同时支 持语音的编码和解码的功能。 r m s g q u e u e ( g l o b a lm e s s a g eq u e u e s ) 提供了从a p s 发送和接收语音数据的任 何异步请求和播放方法的接口。a p s 服务器为每一个输入输出音频s t r e a m 流创 建了两个r m s g q u e u e 队列: 录制通信命令队列( r e c o r d c o m m q u e u e ) 实现了r e c o r d e r 的初始化通 信命令和记录错误消息的功能。 播放通信命令队列( p l a v c o m m q u e u e ) 实现了播放器的初始化通信命令 以及报告错误消息。 录制数据队列( r e c o r d q u e u e ) 采用a p s 服务器输入媒体s t r e a m 流实现 了音频帧( 一帧或者一条消息) 的录制功能。 播放数据队列( p l a y q u e u e ) 实现了音频数据帧发送到a p s 输出s t r e a m 流( 一帧或一条消息) 1 4 1 5 i 。 4 2 全双工语音模块系统设计 根据a p s 客户端服务器系统架构,我们设计了全双工语音模块的系统架构, 如图4 2 所示。 北京邮电大学智能手机终端的双工语音及通信设计与实现 + 4 c q m e u e h a n d l e r o p e no p e n o p e n r m s g q r m s g q p l a y q u e u e c 嗍ej 誓石齑舔毒淼; 。黉一。“。一。? 。_ n 。 c r e a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年荧光棒行业研究报告及未来行业发展趋势预测
- 2025年功能鞋行业研究报告及未来行业发展趋势预测
- 2025年户外用品行业研究报告及未来行业发展趋势预测
- 安全隐患约谈记录范文
- 2025年计时器行业研究报告及未来行业发展趋势预测
- 2025年机械治疗及病房护理设备制造行业研究报告及未来行业发展趋势预测
- 护理查房疝气手术记录范文
- 休克患者的护理常规试题(附答案)
- 湿地生态功能评估与修复
- 2025年短袖POLO衫行业研究报告及未来行业发展趋势预测
- GB/T 11968-2020蒸压加气混凝土砌块
- 基础生态学-生态系统生态学课件
- 幼小可爱卡通家长会通用
- 中西医治疗高血压课件
- TOP100经典绘本课件-《大卫上学去》
- 《古代汉语(II)》课程教学大纲(本科)
- 高血压病人健康教育
- 2021年医院院感知识竞赛理论题目含答案
- 菌种购入、使用、销毁记录表单
- 初中英语教研组团队建设PPT课件
- 六年级上学期综合实践课教案
评论
0/150
提交评论