毕业设计(论文)-基于VC的语音传输系统的设计与开发.doc
《毕业设计(论文)-基于VC的语音传输系统的设计与开发.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于VC的语音传输系统的设计与开发.doc(20页珍藏版)》请在三一文库上搜索。
1、基于VC的语音传输系统的设计与开发摘 要随着计算机应用技术的快速发展和日益普及,网络也遍及到我们生活的每个角落,为我们的学习和工作带来极大的方便。很多人都使用过传统的文字输入聊天方式,与之不同的另外一种聊天方式就是语音聊天。主要对那些不会使用键盘的老年用户和追求时尚的年轻人,语音聊天是一种非常好的聊天方式,它能增加聊天双方的亲切感和真实感,语音聊天就涉及到语音的传输。本系统主要讨论了Windows系统下网络语音的传输,尤其是对网络编程做了较深入的学习和应用,并以语音聊天为例给出了应用实例。本系统主要利用Windows系统下的API函数和SOCKET函数以及VC开发平台的强大功能来实现。经过半年
2、多的努力,终于完成了语音传输系统的需求分析、模块功能划分、多媒体编程、服务器-客户端模型等。本系统可以实现网络间文字、语音信息的传输。关键词 信息传输;网络编程;语音传输;多媒体The design and development of voice transmission based on VCAbstractThe Internet is more and more popular in our lives because of the development of computer technology. Internet helps us in study and work. Many
3、 people use the traditional input method to chat, but there is a new method that we can speak to our friends in real-time. Voice chatting is developed for ones who do not know how to type, or the young people, it can increase the realistic and friendliness. This paper discusses the transmission of v
4、oice by network in windows operation system, such as voice chats. The system is programmed with API functions and Socket functions of the windows. After six months of effort, the voice chatting system was completed. This system includes requirements analysis, and functional modules, multimedia progr
5、amming, server-client model. In network, the text and voice can be transported through this system . Key words: Information transmission; Network programming; Voice transmission; Multimedia目 录 论文总页数:19页1引言12语音传输系统需求分析13开发工具与环境介绍23.1Visual C+概述23.1.1Visual C+简介23.1.2Visual C+的发展过程23.1.3Visual C+的特点33
6、.2Visual C+的集成开发环境33.3Windows程序设计基础43.3.1概述43.3.2消息处理函数43.3.3窗口的建立53.3.4消息循环64Windows网络编程84.1网络和协议84.2Winsock 接口94.3服务器程序和客户程序创建过程115语音传输系统功能实现135.1语音模块实现135.2服务器和客户端功能的实现146系统功能的测试与分析156.1语音聊天程序使用介绍156.2测试与分析16结 论16参考文献17致 谢18声 明191 引言20世纪是计算机的世纪,计算机及相关技术的快速发展令人目不暇接。伴随着计算机技术的发展,网络的发展更加迅猛,令人不禁有“只有想不
7、到,没有做不到”之感。网络已经成为最大的信息传输方式之一。在新的世纪里,我们更要掌握好计算机知识。随着高新技术的不断发展,计算机更新速度越来越快,计算机已经逐渐溶入人们的生活。很难想象没有计算机的现代社会将变成一个什么样子。计算机已经和我们的生活息息相关。而可视化操作简单的Microsoft Windows操作系统就越来越频繁的出现在我们的工作学习中,给我们带来了很多便利。随着计算机的不断发展,网络技术也在不断发展。现在我们通过网络进行学习、讨论、交流、游戏等等,网络正逐渐成为我们身边不可或缺的东西。那么要进行交流,语言、文字是不可缺少的。如何进行网络间的语言文字交流?通过对Visual C+
8、和Windows网络编程技术的学习,本系统研制出一个能够进行网络间语言文字交流的语音传输软件。 Visual C+是一种可视化的、面向对象的Windows开发语言,它具有易用、通用和开发效率高的特点。随着微软公司对他不断的改进以及计算机本身在性能上的迅速提高,使得Visual C+越来越适合于一般的应用程序的开发。自从Visual C+ 6.0推出以来,已经为非常多的开发人员所使用,一直是当前最主流的开发工具之一。而Windows操作系统大家更是熟悉不过了。那么提到Windows编程就不能不提API。API是Application Programming Interface的简写,意思是应用程
9、序编程接口。可以把它想象成一个程序库,提供各式各样与Windows系统服务有关的函数,例如CreateFile是用来创建文件的API函数,C的标准库函数create也提供了创建文件的函数,但是他是靠调用CreateFile函数完成创建文件功能的。事实上,在Windows下运行的程序最终都是通过调用API函数来完成创建工作的,因此,可以把Win32 API看成是最底层的服务。本文所介绍的网络语音传输程序就是一个在Windows环境下以Visual C+为编程语言的应用程序。2 语音传输系统需求分析随着现代计算机技术的不断发展,多媒体已经成为现代计算机不可缺少的功能,而计算机的音频,视频功能是其中
10、最为重要的部分。而随着网络的不断发展,网络已经成为人们最重要的交流方式之一。计算机硬件的更新,特别是海量存储设备和大容量内存在PC机上的实现,对音频媒体进行数字化处理早已经成为可能。现在,企业、机关、学校都建立起了局域网。虽然可以通过文件共享的方式进行通讯,但单使用这种方式,非常不方便。在网上邻居里,只能看到机器名,不清楚对方是谁,也不知道对方机器里有什么资源可以共享,尤其当局域网的机器很多时,这种方式就更加麻烦了。而文字聊天方式比较单一缺乏真实感,所以语音通信就有了必要。但是语音传输需要有很大的网络带宽,对于拨号上网用户,语音传输仍然是奢侈品,不过对于局域网和宽带用户来说,是很不错的选择,本
11、系统就是研究的基于局域网的语音传输,并以语音聊天为例给出了实例。语音聊天方式一般有两种,一种是专门的语音聊天室,采用Web方式,B/S结构,另外一中则是类似于QQ、MSN等聊天工具,采用C/S结构。本设计是采用的后者。TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Server model)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式,首先服务器方要先启动,并根据请示提供相应服务。综上所述,做一个语音通信软件是有必要的,也是能够实现的。3 开发工具与环境介绍3.1 Visual C+概述
12、3.1.1 Visual C+简介VC是Microsoft公司的重要残品之一Developer Studio工具集的重要组成部分。他用来在Windows(包括95、98、NT、2000、XP等)环境下开发应用程序,是一种功能强大、行之有效的可视化编程工具。VC以可视化技术为基础,以C+语言为蓝本,以众多的集成工具为骨架,在计算机领域的诸多方面都发挥着重要的作用。VC提供了简洁实用的开发环境,集成的工具集能让用户高效率地开发应用程序。VC提供了MFC类库,一般性的工作可以全部交给VC来完成,用户只要在其基础上做出自己想要实现的功能即可。VC完成目标所花费的时间要少得多。3.1.2 Visual
13、C+的发展过程作为一种C/C+语言的集成开发环境(IDE),产生VC的最早的根源其实要追溯到DOS时代的Borland公司,当初Borland公司开发的Turbo Pascal和Turbo C让程序员们深刻感受到了把编辑器和编译器集成在一起的IDE是多么的方便,微软公司也看到了这一优点,于是相继开发了Quick C和Microsoft C/C+等多个DOS版本的C/C+集成开发工具。随着Windows的不断成熟,Microsoft公司决定放弃DOS下的开发工作,正式推出Windows下的VC 1.0,早期的VC功能并不怎么强大,使用起来也不方便,1.0版和1.5版都是16位编程工具。VC的革命
14、性改变得益于Windows95的推出,从VC2.0开始,微软公司又放弃了16位编程,以后的VC都只用于32位编程开发,为了与MFC类库的版本号保持一致,微软公司跳过了版本3,直接推出了VC4.0,这个版本及修订版4.2的部分界面风格一直保留到VC6.0。从VC4.0到VC6.0,VC的各种功能不断增强,MFC类库的内容也越来越丰富,现在利用VC开发应用程序已经是一种相对轻松的事情了。3.1.3 Visual C+的特点在VC发展的同时,Borland公司也在不断改进他的C/C+开发工具,并相继推出了Borland C+和C+ Builder等产品,其实,现在的C+ Builder也是一个非常优
15、秀的开发工具,但是基于下边的几点原因,我们可以看出VC有着不可比拟的优越性:1 VC的核心MFC类库已经是事实上的行业标准,Borland自己开发的类库也在向MFC看齐。2 VC与Visual Studio中的其他可视化开发工具紧密集成,可用于开发非常专业的应用程序。3 VC的联机帮助已经被集成到MSDN库中去了,后者包含了微软公司大部分产品的技术文档和支持资料,内容相当丰富,是程序员不可多得的参考资料,现在MSDN库随着Visual Studio6.0一起发行,极大地方便了用户。3.2 Visual C+的集成开发环境Visual Studio 6.0企业版一共有6张光盘,如果只安装VC 6
16、.0那么需要第一张光盘和MSDN库。VC 6.0可以安装在所有运行Windows 95/98/NT/2000/XP等的系统上。安装按提示完成后,开始菜单的程序中应生成Microsoft Visual Studio 6.0和Microsoft Developer Network两个程序组。从Visual Studio 6.0的程序组中运行VC6.0,便可启动VC6.0的开发环境Developer Studio。每次运行VC6.0时,首先会弹出一个“Tip of the Day”的对话框,其中介绍有很多关于开发环境的使用方法以及编程调试方面的小技巧,如果不想看他,可以选择在下一次启动时不再显示。如
17、图3-1所示,VC6.0的窗口被分成了几部分,最上边是标题条、菜单和工具栏,中间左边的窗口是工作区窗口,右边为文档窗口,显示正在编辑的文本文件(或资源),下方为输出窗口和状态栏。除了主菜单和工具栏外,VC6.0开发环境还提供了大量的上下文关联菜单,用鼠标右键单击窗口中的很多地方都会弹出一个关联菜单,此菜单包含与被单击项目相关的各种命令,从而可以加快一些常规操作的速度。VC启动之后,窗口中几乎一切都是空白的,所以我打开了一个工程。中文版的VC+ 6.0,其工作界面如下:图3-1 VC主窗口3.3 Windows程序设计基础3.3.1 概述Windows程序具有相对固定的结构,对编写者而言,不需要
18、书写整个过程,大部分过程由系统完成。程序中只要按一定的格式填写系统留给客户的那一小部分。所需要完成的有:窗口类的定义、窗口的建立、消息函数的书写、消息循环。3.3.2 消息处理函数Windows程序是事件驱动的,对于一个窗口,它的大部分例行维护是由系统维护的。每个窗口都有一个消息处理函数。在消息处理函数中,对传入的消息进行处理。系统内还有它自己的缺省消息处理函数。客户写一个消息处理函数,在窗口建立前,将消息处理函数与窗口关联。这样,每当有消息产生时,就会去调用这个消息处理函数。通常情况下,客户都不会处理全部的消息,而是只处理自己感兴趣的消息,其他的,则送回到系统的缺省消息处理函数中去。 LRE
19、SULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) switch (message) case . case . return DefWindowProc (hwnd, message, wParam, lParam) ; 3.3.3 窗口的建立客户需要自己建立窗口,建立后会得到系统返回的窗口句柄(HWND),后继的针对窗口的操作都针对句柄进行。1.注册窗口类建立窗口前,需要制定好这个窗口的相关属性,最主要的就是将自己定义的消息处理函数与窗口关联,其他的属性还包括:菜单、图标等等。 这个属性
20、指定步骤是通过指定窗口类来完成的。 对于自己建立的窗口,这个窗口类需要自己制定,也即自己充一个WNDCLASS结构,然后向系统注册。对于一些特殊窗口,如按钮等控件,他们的行为是系统制定好了的,所以不需要自己注册,直接使用对应的“窗口类”名称就行了。2.建立窗口建立窗口时,注册的窗口类名称作为参数传入。这样,当有针对该窗口的消息时,将调用“窗口类”中指定的消息处理函数,在其中得到处理。在应用程序中使用对话框是很方便的,因为对话框可以从模板创建,而模板可以使用可视化资源编译器进行编译,这就大大简化了窗口界面的设计过程。同时为了简化程序设计,Windows在内部也定义了许多窗口类,即常说的字窗口控件
21、,应用程序直接使用这些类名就可以创建子窗口。同子窗口控件类似,对话框的窗口函数也由User32.dll提供,所以在创建对话框之前不需要注册窗口类。在创建对话框时并不需要调用CreateWindowEx函数,而是调用了DialogBoxParam或CreateDialogBox函数。前一个函数用来创建模式对话框,后一个函数用来创建非模式对话框,它们都在内部调用了CreateWindowEx函数,使用的风格、大小和位置等参数取自资源中定义的对话框模板。要创建对话框就要先创建对话框模板。对话框模板定义了对话框的基本属性,这包括该对话框的宽度和高度及其中包含的控件。创建对话框模板最简单的方法是使用VC
22、自带的资源编译器,使用VC+的“Insert/Resource”菜单命令,可以非常方便地向工程中加入对话框资源。3.3.4 消息循环系统会将针对这个程序的消息依次放到程序的“消息队列”中,由程序自己依次取出消息,在分发到对应的窗口中去。因此,建立窗口后,将进入一个循环。在循环中,取出消息、派发消息,循环往复,直到取得的消息是退出消息。循环退出后,程序即结束。 #include stdafx.h#include windows.h/消息处理函数/参数:窗口句柄,消息,消息参数,消息参数LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 VC 语音 传输 系统 设计 开发
链接地址:https://www.31doc.com/p-3283574.html