本科毕设论文-—基于mfcmp3播放器的开发与设计.doc
南昌航空大学学士学位论文中文摘要基于MFC MP3播放器的开发与设计 摘要:多媒体技术是使用计算机交互式综合技术和数字通信网络技术处理多种表示媒体 文本、图形、图像、视频和声音,使多种信息建立逻辑连接,集成为一个交互式系统。随着科学技术的发展,多媒体素材类型也增多,包括音频、视频、图像、动画等,如何将这些丰富的媒体表现给人们已是人们关注的焦点。播放器正是能将媒体生动的表现出来的工具之一,因此实用的播放器更是人们需求的。由于MCI(Media Controller Interface)命令接口编程易于实现,具有体积小、支持的播放格式多、系统资源占有少等优点,同时MCI支持播放列表编辑、支持文件的打开、保存等功能,所以本课题利用Visual Studio C+ 2003作为开发环境,结合其自带的MCI函数库和MVC设计思想开发一个简洁实用的播放器软件,为用户提供一个友好的图形化操作界面。本系统实现了音频文件上传、播放、快进/暂停操作、歌词显示、曲目管理和托盘管理等功能。关键词:媒体播放器;播放列表;音频;MCI函数指导老师签名:英文摘要MP3 player designed and development base on MFC Student name: chen sheng Class:060623Supervisor: Zhou ZhipingAbstract: Multimedia technology is the integrated use of interactive computer technology and digital communications network technology that address a variety of media - text, graphics, images, and video and voice so that the logic of the establishment of a wide range of information access, integrated into an interactive system. With the development of science and technology, the multimedia material type increases too, including audio frequency, video, picture, cartooned., how to behave to give people the focus which people have paid close attention to already these abundant medias. The player is exactly the first of tool showing the media vividly, so the practical player is the demands of people even more. As MCI (Media Controller Interface) command interface programming is easy to implement, have small, form of broadcasting supported more, systematic resources occupy few advantages. Support the tabulation of broadcasting to edit, support the function of opening, save of the file at the same time. so this issue use Visual Studio C + + 2003 as the development environment, combined with its own library of MCI and MVC design concept to develop a simple and useful player software to provide users with a friendly graphical interface.The system realizes the audio file upload, music play, fast forward / pause operation, lyrics display, track management and pallet management.Key Words: media player; play list; audio; MCI functionSignature of supervisor:毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日目 录1 前言61.1 课题的研究背景61.1.1 多媒体技术基本现状61.1.2 主流多媒体软件现状61.2 课题研究目的71.3 论文完成的主要工作82 媒体简介82.1 媒体的定义82.2 多媒体基本现状和发展方向92.2.1 多媒体基本现状92.2.2 多媒体的发展方向112.3 多媒体简介122.3.1 多媒体122.3.2 流媒体122.4 数字音频与视频简介133 MCI命令接口编程153.1 MCI设备163.2 MCI函数与命令163.2.1 MCI命令163.2.2 MCI命令消息接口方式183.2.3 MCI命令字符串接口方式204 系统需求分析214.1 需求分析214.1.1 市场调研214.1.2 市场分析224.2 可行性研究234.2.1 可行性论证234.2.2 总体实施步骤234.2.3 总体设计层次图245 系统详细开发与设计255.1 程序设计的基本思想255.1.1 基本界面设置255.1.2 打开文件与添加列表控制设置255.1.3 播放管理控件设置265.1.4 曲目管理控件设置265.1.5 界面管理控件设置275.2 程序设计的详细说明275.2.1 主界面设计275.2.2 播放管理控制函数设置285.2.3 曲目管理控制函数设置295.2.4 界面管理控制函数设置295.3 MCI接口在播放器中应用295.3.1 MCICommandString解析295.3.2 MCICommandString格式设置305.4 主要实现原理及程序315.4.1 文档处理315.4.2 主界面实现325.4.3 消息处理356 系统分析与测试386.1 系统界面与控制设置386.1.1 操作界面设置386.1.2 打开文件396.1.3 列表与控制406.1.4 歌词显示416.1.5 Mini播放模式416.1.6 托盘管理416.2 软件性能测试426.2.1 软件测试的意义426.2.2 软件测试的方法436.2.3 测试过程43结束语45致 谢46参考文献471 前言1.1 课题的研究背景1.1.1 多媒体技术基本现状多媒体技术的概念和应用出现于20世纪80年代初期,经过了十余年的发展历程。随着计算机网络的普及和多媒体技术的发展,已成为计算机领域发展的热点技术,针对目前各种媒体格式,如何简单方便的播放各类媒体已成为人们普遍关注的问题。随着科学技术的发展,多媒体素材类型也增多,包括音频、视频、图像、动画等,由于音视频、图像等的信息容量大,受硬件条件限制,以往多媒体应用并不广泛,随着硬件技术的不断提高,多媒体技术已为各类人员广泛使用,开发多媒体课件、网络课程、网站、应用软件、管理项目等均需利用多媒体素材1。多媒体技术是当今信息技术领域发展最快、最活跃的技术,是新一代电子技术发展和竞争的焦点。多媒体技术融计算机、声音、文本、图像、动画、视频和通信等多种功能于一体,借助日益普及的高速信息网,可实现计算机的全球联网和信息资源共享,因此被广泛应用在咨询服务、图书、教育、通信、军事、金融、医疗等诸多行业,并正潜移默化地改变着我们生活的面貌。多媒体技术已经在如下若干方面开展了有效的应用。 多媒体管理信息系统、展示系统; 多媒体电子出版物(Title); 计算机辅助教学、教育培训; 计算机艺术制作、设计; 计算机娱乐游戏、双向电影; 协同工作。有以下三大发展趋势。 进一步完善计算机支持的协同工作环境; 智能多媒体技术; 把多媒体信息实时处理和压缩编码算法集成到CPU中。1.1.2 主流多媒体软件介绍1)Windows Media PlayerWindows Media Player,是微软公司出品的一款免费的播放器,是Microsoft Windows的一个组件,通常简称"WMP"。支持通过插件增强功能。可以播放MP3,WMA,WAV等音频文件,RM文件由于竞争关系微软默认并不支持,不过在V8以后的版本,如果安装了解码器,RM文件可以播放。视频方面可以播放AVI,MPEG-1,安装DVD解码器以后可以播放MPEG-2,DVD。用户可以自定媒体数据库收藏媒体文件。支持播放列表,支持从CD读取音轨到硬盘。支方便管理的媒体库持刻录CD,V9以后的版本甚至支持与便携式音乐设备同步音乐。整合了WindowsM的收费以及免费服务,V10更整合了纯商业的在线商店商业服务。支持换肤。支持MMS与RTSP的流媒体。内部整合了WindowsM的专辑数据库,如果用户播放的音频文件与网站上面的数据校对一致的话,用户可以看到如图的专辑讯息。支持外部安装插件增强功能。暴风影音暴风影音是暴风网际公司推出的一款视频播放器,该播放器兼容大多数的视频和音频格式。它提供和升级了系统对常见绝大多数影音文件和流的支持,包括 :RealMedia、QuickTime、MPEG2、MPEG4 (ASP/AVC)、VP3/6/7、Indeo、FLV 等流行视频格式;AC3/DTS/LPCM/AAC/OGG/MPC/APE/FLAC/TTA/WV 等流行音频格式;3GP/Matroska/MP4/OGM/PMP/XVD 等媒体封装及字幕支持等。配合 Windows Media Player 最新版本可完成当前大多数流行影音文件、流媒体、影碟等的播放而无需其他任何专用软件。WinampWinamp是数字媒体播放的先驱,由Nullsoft公司开发,创始人Justin Frankel,该软件支持MP3, MP2, MOD, S3M, MTM, ULT,XM, IT, 669, CD-Audio, Line-In等等格式。1.2 课题研究目的多媒体技术的概念和应用出现于20世纪80年代初期,经过了十余年的发展历程。随着计算机网络的普及和多媒体技术的发展,已成为计算机领域发展的热点技术,针对目前各种媒体格式,如何简单方便的播放各类媒体已成为人们普遍关注的问题,而媒体播放器的开发也变得十分重要。随着科学技术的发展,多媒体素材类型也增多,包括音频、视频、图像、动画等,由于音视频、图像等的信息容量大,受硬件条件限制,以往多媒体应用并不广泛,随着硬件技术的不断提高,多媒体技术已为各类人员广泛使用,开发多媒体课件、网络课程、网站、应用软件、管理项目等均需利用多媒体素材。因此开发制作这一播放器具备实际意义。本课题在现有技术基础上,利用MFC进行开发一个播放器软件,满足如下要求:1)提供一个用户友好的操作界面,2)支持多种编码格式的音频文件;3)具备显示列表、曲目管理、同步歌词显示和托盘化管理等功能。1.3 论文完成的主要工作针对如上所述的研究方向,本课题“MP3播放器的开发与设计”的主要任务是深入理解各种媒体格式,开发出一个实用的播放器软件。因此应解决的主要问题是如何把了解的多媒体和MCI函数应用于实际编程中;使得设计的软件具有可用性、易用性、健壮性、实用性。本媒体播放器的开发基于MFC的对话框编程,利用Windows MCI(Media Control Interface)控件,来实现各类媒体格式的播放与控制,结合MVC框架设计人机友好的图形化界面便于操作。2 媒体简介2.1 媒体的定义一般来说,媒体(medium,复数形式为media)是一种信息发布和表现的方法,如正文、图形、语音、音乐等,可按不同的标准分类。CCITT将媒体定义为以下五种:1)感觉媒体(Perceptionmedium):能直接作用于人的感官,使人产生感觉的媒体。如语言、音乐、图形、活动图像、文本等。我们所讲的“多媒体”意义上的媒体,主要是指这一类媒体。感知媒体帮助人们来感知环境。要解决的问题是:人在计算机环境中如何感知信息?就目前而言,人类主要靠视觉和听觉来感知环境的信息,触觉作为一种感知方式也慢慢引入到计算机系统中。2)表示媒体(Representationmedium):为传输感觉而研究出来的中间手段,以便更有效地将感觉从一地传往另一地。表示媒体的特征用计算机内部表示来刻画。要解决的主要问题是:计算机信息如何编码?例如:文本字符用ASC或EBCDIC码表示。图像可以用JPEG格式BMP格式编码。组合音频/视频序列可以用不同的TV标准格式(PAL、SECAM等)编码。3)表现媒体(Perceptionmedium):用于信息传输中电信号和感觉媒体之间转换所用的媒体,意指信息输入/输出的工具和设备。要解决的问题是:信息通过何种媒体输入到计算机中或从计算机中输出?常见的输出媒体有屏幕、纸和喇叭几种,输入媒体有键盘、鼠标、摄像机和麦克风等。4)存储媒体(Storagemedium):用于存储表示媒体的载体。数据存储并不局限于计算机的部件,因此,纸也是一种存储媒体。要解决的问题是:信息存储在什么地方?例如:缩微胶片、磁盘等。5)传输媒体(Transmissionmedium):用来将表示媒体从一地传输到另一地的物理实体。要解决的问题是,在什么上面传输信息?目前主要使用网络来进行信息传输,网络介质有同轴电缆、光纤等,无线方式进行通信正变得越来越广泛。2.2 多媒体基本现状和发展方向2.2.1 多媒体基本现状人们普遍地认为,“多媒体”是指能够同时获取、处理、编辑、存储和展示两个以上不同类型信息媒体的技术,这些信息媒体包括:文字、声音、图形、图像、动画、视频等。可以看出,通常定义的“多媒体”最终被归结为是一种“技术”。事实上,也正是由于计算机技术和数字信息处理技术的实质性进展,才使我们今天拥有了处理多媒体信息的能力,这才使得“多媒体”成为一种现实。所以,“多媒体”,常常不是指多种媒体本身,而主要是指处理和应用它的一整套技术。因此,“多媒体”实际上就常常被当作“多媒体技术”的同义语。另外还应注意到,现在人们谈论的多媒体技术往往与计算机联系起来,这是由于计算机的数字化及交互式处理能力,极大地推动了多媒体技术的发展。通常可以把多媒体看作是先进的计算机技术与视频、音频和通信等技术融为一体而形成的新技术或新产品。多媒体计算机技术(MultimediaComputerTechnology)的定义是:计算机综合处理多种媒体信息,文本、图形、图像、音频和视频,使多种信息建立逻辑连接,集成为一个系统并具有交互性。简单地说:计算机综合处理声、文、图信息和具有集成性和交互性。综合来说,多媒体计算机技术的特性可分为下列几点。1) 集成性多媒体计算机技术是结合文字、图形、影像、声音、动画等各种媒体的一种应用,并且是建立在数字化处理的基础上的。它不同于传统文件,是一个利用电脑技术的应用来整合各种媒体的系统。媒体依其属性的不同可分成文字、音频及视频,其中,文字可分为文字及数字,音频(Audio)可分为音乐及语音,视频(Video)可分为静止图像、动画及影片等;其中包含的技术大致有电脑技术、超文本技术、光盘储存技术及影像绘图技术等。而计算机多媒体的应用领域也比传统多媒体更加广阔,如CAI、有声图书、商情咨询等,都是计算机多媒体的应用范围。另外,具有多种技术的系统集成性,基本上可以说是包含了当今计算机领域内最新的硬件技术和软件技术。2) 交互性交互性是多媒体计算机技术的特色之一,就是可与使用者作交互性沟通(InteractiveCommunication)的特性,这也正是它和传统媒体最大的不同。这种改变,除了提供使用者按照自己的意愿来解决问题外,更可借助这种交谈式的沟通来帮助学习、思考,作有系统的查询或统计,以达到增进知识及解决问题的目的。3) 非循序性则一般而言,使用者对非循序性的信息存取需求要比对循序性存取大的多。过去,在查询信息时,用了大部分的时间在寻找资料及接收重复信息上。多媒体系统克服了这个缺点,使得以往人们依照章、节、页阶梯式的结构,循序渐进地获取知识的方式得以改善,再借助“超文本”的观念来呈现一种新的风貌。所谓“超文本”,简单地说就是非循序性文字,可以简化使用者查询资料的过程,这也是多媒体强调的功能之一。4) 非纸张输出形式多媒体系统应用有别于传统的出版模式。传统的出版模式是以纸张为输出载体,通过记录在纸张上的文字及图形来传递和保存知识,但此种方式受限于纸张,无法将有关的影像及声音记录下来,所以读者往往需要再去翻阅其他方面的资料才能得到一系列完整的内容。多媒体系统的出版模式中强调的是无纸输出形式,以光盘(CD-ROM)为主要的输出载体。这不但使存储容量大增,而且提高了它保存的方便性,由此可见光盘在未来信息传递及资料保存上,将拥有更加重要的地位。正因为“多媒体计算机技术”具有以上所说的几个特性,所以我们目前的家用电视系统就不能称为是一个多媒体系统。因为虽然现在的电视也具有“声、图、文”并茂的多种信息媒体,但是在电视机面前,我们除了可以选择不同的频道外,其他什么也不能做,既不能干涉它,也不能改变它,只能被动地接收电视台播放的节目,所以这个过程是单方向的,而不是双向的。可以预言:在不远的将来,家用电视系统肯定会是一个多媒体的系统,它将集娱乐、教学、通信、咨询等功能于一身。2.2.2 多媒体的发展方向多媒体技术融合了信息处理、计算机、网络与通信等多种学科,将文字,声音、图形、图象和视频等多种形式的媒体集成一个有机的整体,具有表现力丰富,符合人们的思维和认知习惯的特点,特别是在信息的表达方面具有巨大的优势,因此成为当今信息技术中的热点。多媒体技术近年来在广播电视领域中受到广泛的关注,采用多媒体技术不仅意味着传统的模拟视、音频技术向数字技术转变,而且提供了更加丰富、更加强有力的编辑和制作手段,同时极大地提高了制作效率,降低了成本。目前在我国广播电视系统中,以音频与视频的非线性编辑为代表的多媒体技术已经获得初步应用,成为广播电视制作的重要技术手段,其中非线性编辑、基于磁盘的制作和播出系统、虚拟景物的产生和应用、多媒体综合业务网络等新技术代表了未来的发展方向,多媒体技术将成为下一代广播电视节目制作技术的核心。由于多媒体技术涉及到多中相关专业且广播电视中的多媒体应用具有较强的行业特点,加之高级人才缺少,整体的应用处于较低的水平上,因此迫切需要培养广播电视多媒体技术的高级人才。本研究方向的近期和远期主要课题有视、音频压缩算法与实现技术,多媒体先进编辑技术,虚拟演播室,多媒体通信与多媒体广播,多媒体广播电视综合业务网络等。2.3 多媒体简介2.3.1 多媒体从字面上看,所谓多媒体multimedia,就是多种媒体的综合,多媒体处理技术涉及到以上五种媒体形式。但这样的理解没有接触到多媒体概念的特定的内涵,是远远不够的。为了辨析多媒体的含义,我们给出两个多媒体定义进行比较。第一、多媒体是指这样的一个计算机系统:交互式综合处理多种媒体信息文本、图形、图像和声音等,使多种信息建立逻辑连接,集成为一个具有交互性的系统。(Lippincatt,Byte1990年)第二、多媒体是下面两种以上媒体组成的结合体:文本、图形、动画、图像、视频、声音等。(IBM,multimediaFoundation,1990年)显然,定义一是有问题的,因为按这个定义,电视节目就可以看作是多媒体。这是因为,这个定义没有体现出多媒体计算机技术的关键特性。定义二较好地体现了这一点:即多媒体的含义除多种媒体外,还包括集成性和交互性两个重要的特性。2.3.2 流媒体所谓流媒体是指采用流式传输的方式在Internet/Intranet播放的媒体格式,如音频、视频或多媒体文件。流媒体在播放前并不下载整个文件,只将开始部分内容存入内存,在计算机中对数据包进行缓存并使媒体数据正确地输出。流媒体的数据流随时传送随时播放,只是在开始时有些延迟。显然,流媒体实现的关键技术就是流式传输,流式传输主要指将整个音频和视频及三维媒体等多媒体文件经过特定的压缩方式解析成一个个压缩包,由视频服务器向用户计算机顺序或实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用解压设备对压缩的A/V、3D等多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。与单纯的下载方式相比,这种对多媒体文件边下载边播入的流式传输方式不仅使启动延时大幅度地缩短,而且对系统缓存容量的需求也大大降低,极大地减少用户用在等待的时间。流媒体可以边下载边播放,与平面媒体不同。流媒体最大的特点在于互动性,这也是互联网最具吸引力的地方。2.4 数字音频与视频简介首先,我们来明确一下数字音、视频的概念,它是指一个用来表示声音强弱的数据序列,由模拟声音经抽样、量化和编码后得到的。简单地说,数字音、视频的编码方式就是数字音、视频格式,我们所使用的不同的数字音、视频设备一般都对应着不同的音频文件格式。常见的数字音、视频格式有以下几种。1) WAV格式WAV格式是微软公司开发的一种声音文件格式,也叫波形声音文件,是最早的数字音、视频格式,被Windows平台及其应用程序广泛支持。WAV格式支持许多压缩算法,支持多种音频位数、采样频率和声道,采用44.1kHz的采样频率,16位量化位数,因此WAV的音质与CD相差无几,但WAV格式对存储空间需求太大不便于交流和传播。2) MIDI格式MIDI是MusicalInstrumentDigitalInterface的缩写,又称作乐器数字接口,是数字音乐/电子合成乐器的统一国际标准。它定义了计算机音乐程序、数字合成器及其它电子设备交换音乐信号的方式,规定了不同厂家的电子乐器与计算机连接的电缆和硬件及设备间数据传输的协议,可以模拟多种乐器的声音。MIDI文件就是MIDI格式的文件,在MIDI文件中存储的是一些指令。把这些指令发送给声卡,由声卡按照指令将声音合成出来。3) CD格式大家都很熟悉CD这种音乐格式了,扩展名CDA,其取样频率为44.1kHz,16位量化位数。CD存储采用了音轨的形式,又叫“红皮书”格式,记录的是波形流,是一种近似无损的格式。4) MP3格式MP3全称是MPEG-1AudioLayer3,(MPEG的全名为MovingPicturesExpertsGroup,中文译名是:动态图像专家组)它在1992年合并至MPEG规范中。MP3能够以高音质、低采样率对数字音、视频文件进行压缩。换句话说,音频文件(主要是大型文件,比如WAV文件)能够在音质丢失很小的情况下(人耳根本无法察觉这种音质损失)把文件压缩到更小的程度。5) WAV格式WMA(WindowsMediaAudio)是微软在互联网音频、视频领域的力作。WMA格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。此外,WMA还可以通过DRM(DigitalRightsManagement)方案加入防止拷贝,或者加入限制播放时间和播放次数,甚至是播放机器的限制,可有力地防止盗版。6) MP4格式MP4采用的是美国电话电报公司(AT&T)所研发的以“知觉编码”为关键技术的a2b音乐压缩技术,由美国网络技术公司(GMO)及RIAA联合公布的一种新的音乐格式。MP4在文件中采用了保护版权的编码技术,只有特定的用户才可以播放,有效地保证了音乐版权的合法性。另外MP4的压缩比达到了1:15,体积较MP3更小,但音质却没有下降。不过因为只有特定的用户才能播放这种文件,因此其流传与MP3相比差距甚远。7) QuickTime格式QuickTime是苹果公司于1991年推出的一种数字流媒体,它面向视频编辑、Web网站创建和媒体技术平台,QuickTime支持几乎所有主流的个人计算平台,可以通过互联网提供实时的数字化信息流、工作流与文件回放功能。Apple公司的QuickTime电影文件现已成为数字媒体领域的工业标准。QuickTime电影文件格式定义了存储数字媒体内容的标准方法,使用这种文件格式不仅可以存储单个的媒体内容(如视频帧或音频采样),而且能保存对该媒体作品的完整描述;QuickTime文件格式被设计用来适应为数字化媒体一同工作需要存储的各种数据。因为这种文件格式能用来描述几乎所有的媒体结构,所以它是应用程序间(不管运行平台如何)交换数据的理想格式。QuickTime文件格式中媒体描述和媒体数据是分开存储的,媒体描述或元数据(Meta-Data)叫做电影(Movie),包含轨道数目、视频压缩格式和时间信息。同时Movie包含媒体数据存储区域的索引。媒体数据是所有的采样数据,如视频帧和音频采样,媒体数据可以与QuickTimeMovie存储在同一个文件中,也可以存储在一个单独的文件或者在几个文件中。8) DVD格式DVDAudio是新一代的数字音、视频格式,与DVDVideo尺寸以及容量相同,为音乐格式的DVD光碟,取样频率为“48kHz/96kHz/192kHz”和“44.1kHz/88.2kHz/176.4kHz”可选择,量化位数可以为16、20或24比特,它们之间可自由地进行组合。低采样率的192kHz、176.4kHz虽然是2声道重播专用,但它最多可收录到6声道。而以2声道192kHz/24b或6声道96kHz/24b收录声音,可容纳74分钟以上的录音,动态范围达144dB,整体效果出类拔萃。9) RealAudio格式RealAudio是由RealNetworks公司推出的一种文件格式,最大的特点就是可以实时传输音频信息,尤其是在网速较慢的情况下,仍然可以较为流畅地传送数据,因此RealAudio主要适用于网络上的在线播放。现在的RealAudio文件格式主要有RA(RealAudio)、RM(RealMedia,RealAudioG2)、RMX(RealAudioSecured)等三种,这些文件的共同性在于随着网络带宽的不同而改变声音的质量,在保证大多数人听到流畅声音的前提下,令带宽较宽敞的听众获得较好的音质。10) AIFF格式AIFF(.AIF)是苹果公司开发的声音文件格式,被Macintosh平台和应用程序所支持。11) ASF格式Microsoft公司的WindowsMedia的核心是ASF(AdvancedStreamFormat)。微软将ASF定义为同步媒体的统一容器文件格式。ASF是一种数据格式,音频、视频、图像以及控制命令脚本等多媒体信息通过这种格式以网络数据包的形式传输,实现流式多媒体内容发布。ASF的最大优点是体积小,适合网络传输,用户可以将图形、声音和动画数据组合成一个ASF格式的文件,不仅可以将其他格式的视频和音频转换为ASF格式,而且用户还可以通过声卡和视频捕获卡将诸如传声器、录像机等外设的数据保存为ASF格式。另外,ASF格式的视频中可以带有命令代码,用户指定在到达视频或音频的某个时间后触发某个事件或操作。数字音、视频给我们的生活带来了前所未有的变化。它以音质优秀、传播无损耗、可进行多种编辑和转换而成为主流。例如我们常使用到的音响设备、IP电话、卫星电话、数字卫星电视以及专业录音、制作等。展望未来,数字音、视频将会应用于更多的领域,而且会拥有更清晰、更真实的音质、更小巧的体积和更方便的传输和转换功能3 MCI命令接口编程WindowsMCI(mediacontrolinterface)是控制多媒体设备的高层、通用的命令接口。它提供一组与设备无关的函数和命令,可有效地控制多媒体设备。MCI可控制所有Windows能驱动的多媒体设备,包括CD音频(CDAudio)、数字视频、动画、数字化波形声音、MIDI音序器、录像机及影碟机等。MCI包含在Windows系统的MMSYSTEM.DLL动态链接库中,有以协调多媒体事件和MCI设备驱动程序之间的通信。一些MCI设备驱动程序,如影碟机设备驱动程序,可以直接控制目标设备;而另外一些MCI设备驱动程序,如Wave和MIDI设备驱动程序,可通过MMSYSTEM中的函数,间接控制目标设备;还有一些MCI设备驱动程序则提供与其他Windows动态链接库连接的高层接口。3.1 MCI设备使用MCI接口函数的应用程序可以通过指定MCI的设备名称来区分MCI的设备类型,设备类型说明了设备的物理类型。表3-1给出了可能用到的MCI设备类型。表3-1 MCI设备类型MCI设备说明Cdaudio激光唱机Waveaudio数字化波形声音设备SequencerMIDI音序器Overlay视频叠加设备(窗口中的模拟视频)Dat数字化磁带音频播放机Digitalvideo窗口中的数字视频Scanner图像扫描仪Vcr磁带录像机或播放机Videldisc影碟机Mmmovie多媒体影片播放器Other示定义的MCI设备3.2 MCI函数与命令Microsoft提供的MMSYSTEM.H文件中定义了调用了MCI功能的数据类型和函数原型,在使用MCI功能的任何源模块中都应包含该头文件。3.2.1 MCI命令应用程序能过MCI设备发送命令(命令消息或命令字符串)来控制MCI设备,MCI命令可以分为4类,如下所述9: 系统命令:直接由MCI解释并由系统处理,是不传送到MCI设备的命令。 通用命令:所有MCI设备都支持的MCI命令。 可选命令:MCI设备可选择使用的MCI命令。 专用命令:针对某类MCI设备或集合的专有MCI命令。MCI定义了两种接口方式,即命令消息方式和命令字符串方式。相应地,MCI命令可分为命令消息和命令字符串。主要的MCI命令及分类如表3-2所示,这些命令有些具有其相应的扩展形式。表3-2 MCI命令列表MCI命令消息MCI命令字符串MCI命令说明MCI命令类型MCI_SYSINFOSYSINFO返回有关MCI设备的停息系统命令MCI_BREAKBREAK为指定的MCI设备设置一个终止键MCI_SOUNDSOUND播放一段Windows指定的系统声音MCI_CLOSECLOSE关闭一个MCI设备通用命令MCI_GETDEVCAPSGETDEVCAPS获得一个MCI设备的性能参数MCI_INFOINFO从一个MCI设备得到有关的信息MCI_OPENOPEN初始化一个MCI设备MCI_STATUSSTATUS从一个MCI设备返回有关的状态信息MCI_LOADLOAD从一个磁盘文件中加载数据可选命令MCI_PAUSEPAUSE暂停播放数据MCI_PLAYPLAY开始播放数据MCI_RECORDRECORD开始记录数据MCI_RESUMERESUME重新开始播放或记录MCI_SAVESAVE将数据存储到磁盘文件中MCI_SEEKSEEK向前或向后检索MCI_SETSET设置设备信息MCI_STOPSTOP停止播放或记录MCI命令都可以带两个标志命令来控制命令的方式,即“wait”和“notify”。它们在命令消息和命令字符串接口的形式和含义如表3-3所示。表3-3 MCI标志命令命令消息命令字符串功能MCI_WAITwait通知MCI设备等,MCI命令执行完后,才能将控制权还给应用程序。MCI_NO