优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

基于VC的声音信号实时采集系统

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:
摘要 多媒体技术是界面技术、通信技术和控制技术的综合,是计算机广泛应用于人们日常工作、学习和生活的重要技术基础。多媒体应用,特别是网络上的多媒体应用,已经成为信息时代的一个根本特征。多媒体的出现使计算机摆脱了其只是处理数字和文字的机器的传统角色。如今,运用多媒体技术的产品在我们身边已经越来越普遍了,如视频会议、视频聊天、远程监控等在我们工作中也扮演着越来越重要的角色。声音信号的采集、压缩、播放、传输是上述系统的一个重要组成部分。 本文详细的细讨论了声音信号的基本原理和Window环境下多媒体编程的技巧。另外,我们在这里使用Visual C++ 6.0实现了一个声音信号的实时采集系统,该程序从计算机的音频输入口采集声音,采集声音的同时,播放这些声音,完成了声音信号的实时采集和回放。 系统使用的关键技术有Windows环境下声音信号的采集、播放技术和多线程编程技术。本文将对这些技术做详细的介绍。 关键词:声音采集,声音播放,多线程编程,MFC 第一章 绪 言 1.1课题背景 声音采集系统是众多多媒体相关软件的重要组成部分,也是众多高科技科研项目的重要模块。如何高速、真实的采集信号,是这项技术的核心。相信音频信号的相关技术的应用会越来越广泛的。 现在市面上此类工具软件很多,但是很多都是单纯实现录音或者单纯实现回放的,有的软件(如Windows的录音机)能实现录音和回放,但不是实时的。我们在这里要实现一个实时录音、实时回放的系统,同时兼容了录音到文件、从文件播放的功能。 本系统的大概实现思想是在程序中保存一个音频数据的数组,采集模块不停的采集,而播放模块不停的播放,采集和播放用两个工作线程实现,用临界区实现线程的互斥。信息速率可以灵活设置。 1.2 系统相关概念介绍 1> 面向对象程序设计 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。 面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的面向过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。 所有面向对象编程语言都支持三个概念:封装、多态性和继承。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说,对象是支持封装的手段,是封装的基本单位。 多态性就是多种表现形式,具体来说,可以用"一个对外接口,多个内在实现方法"表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。运算符重载(operator overload)一直被认为是一种优秀的多态机制体现,我们通常重载的运算符有“=”、“>”、“<” 等,用于自定义对象的基本运算。 继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡 车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的"父亲",而这些子实体则是汽车的"孩子"。Java提供给用户一系列类 (class),Java的类有层次结构,子类可以继承父类的属性和方法。与另外一些面向对象编程语言不同,Java只支持单一继承。 2> MFC控件 MFC类库为我们封装了很多常用的控件,有对话框、静态控件、列表控件、组合框控件、编辑控件等等。这些控件提供了基本接口,我们常用的操作只需调用这些接口就行了。 我想使用MFC类库编程的最大不便就是控件的外观非常单调,基本都是灰色调,不能满足客户个性化的需求。 MFC巧妙之处就在于它提供了各控件的自绘接口,我们可以根据自己的喜好自绘上述控件,以达到自己想要的效果。也就是说MFC为我们提供了尽可能多的对程序的控制权,使我们可以发挥自己的聪明才智,自由发挥。 ?????? 3> 采样频率 ????????????? 采样频率指每秒钟采集的样本个数。 ?????? 4> 信息速率 ?????? ?????? 每秒钟采集的数据位个数。 1.3 本文的工作 本文的工作就是介绍声音的原理、声音的采集技术、声音的回放技术、VC多线程编程技术。并利用以上的各种技术实现了一个声音的实是采集系统。本文第二部分介绍基本原理,包括声音的基本原理、音频编程方法、多线程程序设计,第三部分介绍系统的设计方案,介绍对程序的模块分析、设计思想,第四部分给出详细的实现过程和重要的技术实现。