语音通信软件服务器端研究与设计

摘 要 服务器是作为提供服务的接口程序,其需要确保功能接口的正确性和完全性,同时也需要考虑其在运行过程中的高效性、可靠性、稳定性、可扩展性等特性。本课题采用C/S结构,使用微软的Visual Studio 2008 作为开发工具来设计一款串口服务器。设计利用Access的轻巧和灵活最后底层数据库,以减小压力;采用MFC库和C++进行服务器的编码,以此增强访问效率;之后在C++的基础上,加入了NET库进行客户端的研发,同时嵌入Web的功能,以此增强灵活性和高效性,设计实现的串口从并发量和效率上满足多用户访问的要求。
目 录
一 引言 1
二 系统整体设计 2
三 各模块设计 5
(一) 音频编/解码 5
(二) 音频采集及回放 8
(三)网络的传送和接收 12
(四) 界面设计 18
参考文献 23
致 谢 24
附 录 25
一 引 言
服务器是作为提供服务的接口程序,其需要确保功能接口的正确性和完全性,同时也需要考虑其在运行过程中的高效性、可靠性、稳定性、可扩展性等特性,并在开发过程中要以详细设计说明书进行开发,并且在程序编码过程中,需符合其设计的原则,使其达到服务器的预期效果。该软件采用C/S结构,开发工具用微软的Visual Studio 2008 。本项目开发主要是利用Access的轻巧和灵活最后底层数据库,以减小压力;采用MFC库和C++进行服务器的编码,以此增强访问效率;之后在C++的基础上,加入了NET库进行客户端的研发,同时嵌入Web的功能,以此增强灵活性和高效性。本项目根据分析与设计,以及后期功能的实现,并发量和效率上满足多用户访问的要求。在通信过程中,服务器起着至关重要的作用,没有它无法完成整个通信的过程,因此,对其的要求非常高,包括其高效率、高可靠性、高稳定性等。而其主要目的和核心是为用户提供更优质的服务及体验度,因此需保证其有简单易用性,同时也需满足后期更新优化的可扩展性。通信软件是运营和研发核心是交流,而其他功能,包括语音、发表情动画、上传文件等都是在这个核心上扩展的功能。以即时通信的相关功能展开 *好棒文|www.hbsrm.com +Q: ^351916072* 
分析讨论,已确定程序中的各个模块功能之间的业务关系。根据分析结果及确定的需求进行程序的研发设计,以此设计一款高可用性、高稳定性、高灵活性、高效率性的程序。并在其基础上进行代码调优、程序优化、算法策略,以最大提高程序的性能。
二 系统整体设计
依据其语音通信的传输特点及原理即可实现两点之间的交流。对某一点进行数据的采集,通过处理后将其传输到另一个点,同时该点做好接收和播放的准备,如此即可进行两点之间的语音通信。本文使用回调机制监测数据块的使用完成度,并以此判断进行下一个的传送,确保语音持续性,这功能也是本文设计过程中所需要的,因此文本设计主要是使用Windows 的低层音频服务,以此进行语音数据的传输。在网络通信过程中,以TCP/IP协议为核心,根据IP进行连接,之后以TCP进行传输监测,其具有在处理问题上有很高的效率,包括交付失序和分组丢失等,一方作为发送方,而一样作为接收方,这样便实现了点对点语音通信。其结构如图22,模块如图 21。

图 21

图 22 模块框图
接收语音数据、对数据进行解码、播放功能;发送语音编码数据、数据采集、编码转换;这通信语音的核心工作,上述功能的完成整个系统的必备功能。其总体程序流程图如图23所示。

图23
三 、各模块设计
(一)音频编/解码
1.音频编/解码介绍
在现实社会中声音波形较为多样化,但一般我们使用的是PCM编码。而这个过程通常是由三个环节组称成,首先是进行抽样,之后进行量化,最后实现编码,以此实现转码的过程。
  1)采样率和采样大小(位/bit)
声音具有振幅和频率两个要素,其同样对应着不同的轴线,包括时间和电平。这种波是由弦线构成,而其线是由点构成,编码抽样的环节既是对点进行的。其原理是抽取其频率值,人体能接收的频率最小是20kHz,同时为了对波形进行复原,因此最少需要两个点以上的样本数据,也就是说一次采样率至少是40kHz。我们常见的CD,采样率为44.1kHz。单单频率不能当作信号的强度,还需对其所获得的能量值进行统一的量化。通常我们是以2的整数次幂当作量化电平数,例如16bit的采样大小就是216。关于采样的频率及其大小与其波形相关,其值越高,则波形就越与原始的信号相似。
  2) 有损和无损
在现实世界的信号中,不管音频如何进行解码和抽样仅仅只能复原的与它接近,而无法做到一模一样,复原出来的必定是有损音质,这点从采样的大小和频率上就可以知道。而这种复原最高程度的,在计算机技术中是PCM编码,因此其在非常广泛的方面都有应用,包括DVD、WAV等,大多数音乐和素材上都有应用。PCM的复原程度非常高,做到了极其接近的层次,因此在编码领域都称其为无损编码,以此表示其编码的保真程度。在编码上,损是相对性的,但距离做到无损,以如今的技术,还有很长的路需要走。
  3)音频压缩技术
PCM的码率计算公式是采样大小值×采样频率×声道数 bps。如一个双声道的PCM编码,其采样的大小及频率是16bit和44.1KHz,则其计算出来的数据速率则为 44.1K×16×2 =1411.2 Kbps。而这个值也就是一般128K的MP3,和其相对WAV的参数,与ADSL中的带宽的概念是相同的,因此也叫做数据带宽。数据速率的算法是将码率除以8即可得到其值,即176.4KB/s。这也就相当于在一秒内进行采样,其相关的大小及频率分别是16bit和44.1KHz的双声道的音频信号时,其需要消耗存储大小是176.4KB,而如果是60秒钟内,则是10.34M的空间,这样的效率和频率极大的占用的磁盘的空间,因此只能对其数据进行压缩或者将采样的指标降低。降低指标是不可取的。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/724.html

好棒文