多媒体播放器的设计与实现大学课程.docx

上传人:b****5 文档编号:3566651 上传时间:2022-11-23 格式:DOCX 页数:31 大小:337.20KB
下载 相关 举报
多媒体播放器的设计与实现大学课程.docx_第1页
第1页 / 共31页
多媒体播放器的设计与实现大学课程.docx_第2页
第2页 / 共31页
多媒体播放器的设计与实现大学课程.docx_第3页
第3页 / 共31页
多媒体播放器的设计与实现大学课程.docx_第4页
第4页 / 共31页
多媒体播放器的设计与实现大学课程.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

多媒体播放器的设计与实现大学课程.docx

《多媒体播放器的设计与实现大学课程.docx》由会员分享,可在线阅读,更多相关《多媒体播放器的设计与实现大学课程.docx(31页珍藏版)》请在冰豆网上搜索。

多媒体播放器的设计与实现大学课程.docx

多媒体播放器的设计与实现大学课程

JIANGSUUNIVERSITY

本科毕业论文

 

多媒体播放器的设计与实现

TheDesignandImplementationofMultimediaPlayer

 

多媒体播放器的设计

摘要本文主要是开发了一款简单的多媒体播放器。

可以播放多种格式的音频、视频文件,该播放器实现了的基本功能包括:

音频视频文件的打开、添加到菜单、媒体的播放、音量大小的调节、播放时间的拖动、暂停播放、停止以及歌曲信息的查询与添加等。

使之成为一款简易的媒体播放设备,能够完美的播放市面上大多数的音频、视频文件。

在毕业设计中,系统开发平台为WindowsXP操作系统,程序设计环境采用VisualC++6.0。

在程序设计中,利用了微软公司开发的ActiveX控件——可视动画控件ActiveMovie,程序通过调试运行,初步实现了设计目标,本程序是基于MFC集成开发环境,利用ActiveMovie控件实现媒体播放的功能的,除了基本的播放控制外,还具有多文件自动顺序循环播放、全屏播放、静音等实用功能。

关键字:

多媒体;播放器;Active控件

 

TheDesignandImplementationofMultimediaPlayer

AbstractThisarticleisdevelopedasimplemultimediaplayer.Itcanplaymultipleformatsofaudio,videofiles,TheplayersrealizethebasicfunctionsincludethatopentheAudioandvideofiles,addtothemenu,andmediaplayback,adjustthevolumesize,playtime,drag,pause,stop,andsonginformationsuchasqueryandaddandsoon.Makingitasimplemediaplayerdevice,mostaudioorvideofilesinthemarketcanbeplayedperfectlybythismediaplayer.IntheGraduation,TheSystemDevelopmentPlatformisWindowsXP,TheProgrammingEnvironmentisVisualC++6.0.Intheprogramdesign,usingtheActiveXcontrolDevelopedbyMicrosoft。

Programbycommissioning,Initialdesigngoalsachieved,theprogramisbasedonMFCIntegratedDevelopmentEnvironment.UsingtheActiveMoviecontroltoachievethefunctionsofmediaplayer.Inadditiontothebasicplaybackcontrols,Italsohasmanyotherutilityfunctions,suchasautomaticmulti-fileloopsequence,playingFullScreen,Muteandsoon.

Keywords:

multimedia。

player;Activecontrol

 

 

第一章绪论

1.1引言

在当今信息社会,以多媒体为代表的信息技术和信息产业的发展和应用对人类社会产生的影响和作用愈来愈明显,愈来愈重要。

多媒体的发展和应用,极大地推动了诸多工业的相互渗透和飞速发展,逐步改变了整个人类社会的工作结构和生活方式。

可毫不夸张地说,多媒体产业的形成和发展,将不仅引起计算机工业的一次革命,也将影响人类社会发生一场巨大的变革【1】。

在世界许多发达和发展中国家,对多媒体技术的研究和应用以及多媒体产业的形成和发展十分重视,投入了大量的人力、物力和财力,试图拥有先进的多媒体信息技术和庞大的多媒体产业市场尽快推动本民族工业、经济和科学技术的飞速发展。

如近年来信息高速公路、计算机数字通信和大众媒体传播等领域的迅猛发展和统一对于促进了一个国家,乃至整个人类社会的发展已起到了里程碑的作用【2】。

多媒体为什么好似一夜之间流行全球,最重要的原因有二:

一是多媒体是人类可以直接接受的最为全面和最为丰富的信息资源,对于推动当今高度发达和文明社会的飞速发展起着重要的主导地位,因而社会需求多媒体。

二是随着计算机和影视工业以及通讯、数据处理等技术的成熟,为多媒体产业的发展提供了坚实的基础,并伴随着现代计算机、影视工业和娱乐行业的相互渗透和走向大同,多媒体的发展也就成为了现代科技发展的必然产物[3]。

多媒体技术的网络化发展趋势。

技术的创新和发展将使诸如服务器、路由器、转换器等网络设备的性能越来越高,包括用户端CPU、内存、图形卡等在内的硬件能力空前扩展,人们将受益于无限的计算和充裕的带宽,它使网络应用者改变以往被动地接受处理信息的状态,并以更加积极主动的姿态去参与眼前的网络虚拟世界【4】。

从目前的发展趋势看可以把这种芯片分成两类:

一类是以多媒体和通讯功能为主。

融合CPU芯片原有的计算功能,它的设计目标是用在多媒体专用设备,家电及宽带通讯设备,可以取代这些设备中的CPU及大量ASIC和其它芯片。

另一类是以通用CPU计算功能为主,融合多媒体和通信功能,它们的设计目标是与现有的计算机系列兼容,同时具有多媒体和通信功能,主要用在多媒体计算机中【5】。

1.2系统设计的目的和意义

由于多媒体技术使计算机具有综合处理声音、文字、图像和视频信息的能力,它以形象丰富的声、文、图等信息和方便的交互性,极大地改善了人机界面,改变了使用计算机的方式,从而为计算机进入人类生活和生产的各个领域打开了大门。

同时,多媒体计算机技术是信息高速公路架构的重要组成部分,是我国国民经济信息化的核心技术。

多媒体计算机技术还是解决高清晰度电视(HDTV)、常规电视数字化、交互式电视(ITV-InteractiveTV)、点播电视(VOD-VideoOnDemand)等问题的最佳方案。

也是改造传统产业,特别是出版、印刷、广告、娱乐等产业的先进技术。

如我国的印刷产业,1993年产值5000亿元,可以利用多媒体技术实现电子化,其中包括电子排版系统,电子出版物等将会有极大市场。

因此,发展多媒体计算机技术必将对我国国民经济、科学技术和文化教育方面产生深远的影响[6]。

由于多媒体系统需要将不同的媒体数据表示成统一的结构码流,然后对其进行变换、重组和分析处理,以进行进一步的存储、传送、输出和交互控制。

所以,多媒体的传统关键技术主要集中在以下四类中:

数据压缩技术、大规模集成电路(VLSI)制造技术、大容量的光盘存储器(CD-ROM)、实时多任务操作系统。

因为这些技术取得了突破性的进展,多媒体技术才得以迅速的发展,而成为像今天这样具有强大的处理声音、文字、图像等媒体信息的能力的高科技技术[7]。

1.3研究背景

本设计采用的是VisualC++是Windows操作系统上常见的C++开发工具,是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C++的可视化的开发环境。

VisualC++6.0编译器负责将C++源代码编译成汇编文件,转变为中间文件,然后使用连接器将相关的中间文件连接起来,生成可执行的二进制文件。

VisualC++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。

VisualC++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。

这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境【8】。

MFC(MicrosoftFoundationClass)是用来编写Windows应用程序的C++类集,其中封装了大部分WindowsAPI函数和Windows控件,使用MFC类库和VisualC++提供的高度可视的应用程序开发工具,可使应用程序开发变得简单,提高代码的可靠性和可重用性。

随着多媒体性能的极大提升,程序中经常要播放一段视频或者一段音频,如果能够简单地插入音频和视频,将极大缩短程序的开发时间。

本文基于MFC在VisualC++环境下利用WindowsMediaPlayer控件实现了音频视频文件的播放。

MFC,微软基础类(MicrosoftFoundationClasses),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinDOS下开发人员使用的专业C++SDK(SDK,StandardSoftWareDevelopKit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:

C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器,或者说是一种编译器+源程序编辑器的IDE,WS,PlatForm,这跟Pascal和Delphi的关系一个道理,Pascal是Delphi的语言基础,Delphi使用Pascal规范来进行Win下应用程序的开发和编译,却不同于Basic语言和VB的关系,Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范,VB新加的Basic语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使VB既是一个IDE,又成长成一个新的程序设计语言),MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC++专配的。

  MFC是WinAPI与C++的结合,API,即微软提供的WinDOS下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第三方(如我是一方,微软是一方,Borland就是第三方)的编程语言来进行对WinDOS下应用程序的开发,使这些被开发出来的应用程序能在WinDOS下运行,比如VB,VC++,Java,Dehpi编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在WinOS的消息机制和绘图里,遵守WinDOS作为一个操作系统的内部实现,这其实也是一种必要,微软如果不提供API,这个世上对Win编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾,上面说到MFC是微软对API函数的专用C++封装,这种结合一方面让用户使用微软的专业C++SDK来进行Win下应用程序的开发变得容易,因为MFC是对API的封装,微软做了大量的工作,隐藏了好多程序开发人员在Win下用C++&MFC编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价(这是微软的一向作风),因此就造成了MFC对类封装中的一定程度的的冗余和迂回。

  最后要明白MFC不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在WinDOS(用MFC编写的程序绝大部分都在WinDOS中运行)中实现内部处理的类,如数据库的管理类等,学习中最应花费时间的是消息和设备环境,对C++和MFC的学习中最难的部分是指针,C++面向对像程序设计的其它部分,如数据类型,流程控制都不难,建议学习数据结构C++版。

  MFC是微软封装了的API。

什么意思呢?

windows作为一个提供功能强大的应用程序接口编程的操作系统,的确方便了许多程序员,传统的win32开发(直接使用windows的接口函数API)对于程序员来说非常的困难,因为,API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。

MFC是面向对象程序设计与Applicationframework的完美结合,将传统的API进行了分类封装,并且创建了程序的一般框架。

MFC是对WindowsAPI的封装,大大简化了我们的工作;学VC主要就是要学MFC,大约有100多个类,但常用的也就二三十个。

应该象背4级单词一样将这些常用类搞懂;当然不要死记,要通过看帮助、看例子、动手练习来学会它们;而且,并非每个类的内部的所有函数都要学会,要日积月累。

如果真的想成为高手,做个笔记本把自己认为重要的类、函数记下来,随时学习,也是很好的突击方法【18】。

本论文采用的ActiveX控件。

ActiveX是Microsoft提出的COM组件在网络环境中进行交互操作的一种标准,同时也是基于COM的开放技术集合,代表了应用程序与Internet的一种集成策略。

ActiveX控件是基于COM的可重用组件,主要用于插入ActiveX控件包容器或Web页,ActiveX在外观上和使用上和普通控件一样,还提供属性页以支持在包容器的设计阶段对ActiveX控件的属性进行可视化设计。

作为针对Internet应用而开发的技术,ActiveX广泛应用于Web服务器和客户端的各个方面,也可以用于普通桌面应用程序。

在使用VC++6.0创建ActiveX控件包容器时,可以使用MFC。

设计一个ActiveX控件如同设计一个VisualBasic窗体那样容易-用户可以使用所熟悉的VisualBasic图形命令来画控件,或者使用已有的控件来创建一个控件组。

ActiveX控件可以在运行中调试,因此可以直接从调试窗体的代码跟踪到ActiveX控件工程的代码中。

ActiveX控件是一种可重用的软件组件,通过使用ActiveX控件,可以很快地在网址、台式应用程序、以及开发工具中加入特殊的功能。

如,StockTicker控件可以用来在网页上即时地加入活动信息,动画控件可用来向网页中加入动画特性。

现在,已有1000多个商用的ActiveX控件,开发控件可以使用各种编程语言,如C,C++,下一代的MicrosoftVisualBasic®。

,以及微软公司的VisualJava开发环境MicrosoftVisualJ++™。

ActiveX控件一旦被开发出来,设计和开发人员就可以把它当作预装配组件,用于开发客户程序。

以此种方式使用ActiveX控件,使用者无需知道这些组件是如何开发的,在很多情况下,甚至不需要自己编程,就可以完成网页或应用程序的设计。

就目前而言,多媒体技术已在商业教育培训、电视会议、声像演示等方面得到了充分应用。

信息点播有桌上多媒体通信系统和交互电视ITV。

计算机协同工作CSCW是指在计算机支持的环境中,一个群体协同工作以完成一项共同的任务。

计算机的交互性,通信的分布性和多媒体的现实性相结合,将构成继电报电话、传真之后的第四代通信手段。

多媒体技术给出版业带来了巨大的影响,其中近年来出现的电子图书和电子报刊就是应用多媒体技术的产物。

利用多媒体技术可为各类咨询提供服务,如旅游、邮电、交通、商业、金融、宾馆等。

多媒体技术还将改变未来的家庭生活,多媒体技术在家庭中的应用将使人们在家中上班成为现实。

多媒体播放器,也叫RMVB播放器,一种可以在电视上播放网络视频文件的设备。

如:

暴风影音是WindowsMediaPlayer的补充和完善,当前暴风影音定位为一种软件的整合和服务而存在,并非一个特定的软件。

它提供和升级了系统对常见绝大多数影音文件流行媒体的支持。

多媒体技术是当今信息技术领域发展最快的、最活跃的技术,其发展的方向也是极其多样化,所以在人们的日常生活中,几乎随处可见其身影。

本毕业设计就是通过在VC6.0开发平台上开发一个简单的音/视频播放器的过程,了解多媒体与多媒体技术及其在播放器中的应用,掌握多媒体技术开发相关技术及多媒体文件的访问与传播,同时利用软件工程的相关理论知识,了解软件开发的方法与步骤。

多媒体技术已经成为当今比较热门的研究课题,特别是伴随着多媒体技术的网络化,使得多媒体技术的发展前景无限广阔。

多媒体技术的网络化发展趋势。

技术的创新和发展将使诸如服务器、路由器、转换器等网络设备的性能越来越高,包括用户端CPU、内存、图形卡等在内的硬件能力空前扩展,人们将受益于无限的计算和充裕的带宽,它使网络应用者改变以往被动地接受处理信息的状态,并以更加积极主动的姿态去参与眼前的网络虚拟世界。

从目前的发展趋势看可以把这种芯片分成两类:

一类是以多媒体和通讯功能为主。

融合CPU芯片原有的计算功能,它的设计目标是用在多媒体专用设备,家电及宽带通讯设备,可以取代这些设备中的CPU及大量ASIC和其它芯片。

另一类是以通用CPU计算功能为主,融合多媒体和通信功能,它们的设计目标是与现有的计算机系列兼容,同时具有多媒体和通信功能,主要用在多媒体计算机中。

 多媒体技术的发展使多媒体计算机将形成更完善的计算机支撑的协同工作环境,消除了空间距离的障碍,也消除了时间距离的障碍,为人类提供更完善的信息服务。

交互的、动态的多媒体技术能够在网络环境创建出更加生动逼真的二维与三维场景,人们还可以借助摄像等设备,把办公室和娱乐工具集合在终端多媒体计算器上,可在世界任何角落与千里之外的同行在实时视频会议上进行市场讨论、产品设计,欣赏高质量的图像画面。

新一代用户界面(UI)与智能人工(IntelligentAgent)等网络化、人性化、个性化的多媒体软件的应用还可使不同国籍、不同文化背景和不同文化程度的人们通过“人机对话”,自由地沟通与了解。

  多媒体终端的部件化、智能化和嵌入化发展趋势。

目前多媒体计算机硬件体系结构,多媒体计算机的视频音频接口软件不断改进,尤其是采用了硬件体系结构设计和软件、算法相结合的方案,使多媒体计算机的性能指标进一步提高,但要满足多媒体网络化环境的要求,还需对软件作进一步的开发和研究,使多媒体终端设备具有更高的部件化和智能化【10】。

嵌入式多媒体系统可应用在人们生活与工作的各个方面,在工业控制和商业管理领域,如智能工控设备、POS/ATM机、IC卡等;在家庭领域,如数字机顶盒、数字式电视、WebTV、网络冰箱、网络空调等消费类电子产品,此外,嵌入式多媒体系统还在医疗类电子设备、多媒体手机、掌上电脑、车载导航器、娱乐、军事方面等领域有着巨大的应用前景【11】。

现在多媒体技术正向二个方而发展:

一是网络化发展趋势,与宽带网络通信等技术相互结合,使多媒体技术进入科研设计、企业管理、办公自动化、远程教育、远程医疗、检索咨询,文化娱乐、自动测控等领域;二是多媒体终端的部件化、智能化和嵌入化,提高计算机系统本身的多媒体性能,开发智能化家电。

多媒体有三个关键特性:

多样性、交互性和集成性。

信息载体的多样性是多媒体的主要特征之一,也是多媒体研究需要解决关键问题。

信息载体的多样化是相对计算机而言的,指的就是信息媒体的多样化。

把计算机所能处理的信息空间范围扩展和放大,而不在局限于数值、文本或特殊对待的图形和图象,这是计算机变得更加人类化所必须的条件。

多媒体就是要把机器处理的信息多维化,通过信息的捕获、处理与展现,使之交互过程中具有更加广阔和更加自由的空间,满足人类感官空间全方位的多媒体信息需求。

多媒体的第二个关键特性是交互性。

它将向用户提供更加有效的控制和使用信息的手段和方法,同时也为应用开辟了更加广阔的领域。

交互可做到自由地控制和干预信息的处理,增加对信息的注意力和理解,延长信息的保留时间。

当交互性引入时,活动本身作为一种媒体便介入了信息转变为知识的过程。

借助于“活动”,我们可以获得更多的信息。

媒体信息的简单检索与显示,是多媒体的初级交互应用;通过交互特性使用户介入到信息的活动过程中,才达到了交互应用的中级水平;当用户完全进入到一个与信息环境一体化的虚拟信息空间自由遨游时,这才是交互应用的高级阶段,这有待于虚拟现实或临境技术的进一步研究和发展。

多媒体的集成性应该说是在系统级上的一次飞跃。

早期多媒体中的各项技术和产品几乎都是由不同厂商根据不同的方法和环境开发研制出来的,基本上只能单一、零散和孤立地被使用,在能力和性能上很难满足用户日益增强的信息处理需求。

但当它们在多媒体的旗帜下大会师时,一方面意味着技术已经发展到相当成熟的程度,一方面也意味着各自独立的发展不再能满足应用的需要。

信息空间的不完整,开发工具的不可协作性,信息交互的单调性等都将严重地制约和限制着多媒体系统的全面发展。

因此,多媒体的集成性主要表现在两个方面:

多媒体信息的集成和操作这些媒体信息的工具和设备的集成。

对于前者而言,各种信息媒体应能按照一定的数据模型和组织结构集成为一个有机的整体,以便媒体的充分共享和操作使用是非常重要的。

多媒体的各种处理工具和设备集成,强调了与多媒体相关的各种硬件的集成和软件的集成,为多媒体系统的开发和实现建立一个理想的集成环境,目的是提高多媒体软件的生产力【12】。

1.4论文主要研究内容及论文结构安排

本毕业设计是制作一个可播放目前主流媒体格式的多媒体播放器,其基本功能应具有媒体播放、音量调节、播放进度选择、暂停、停止以及歌曲信息的查询与添加等,使之成为一款简易的媒体播放设备,能够完美的播放市面上大多数的音频、视频文件。

论文的结构安排:

第一章绪论介绍研究背景,目的和意义等;

第二章开发工具介绍,软件的需求分析和模块设计;

第三章数据模型分析及设计;

第四章多媒体播放器软件设计;

第五章程序运行流程图和播放器实现结果演示;

第六章总结与展望,主要对论文进行总结和今后研究设想;

最后是参考文献和附录的相关内容。

 

第二章开发平台介绍和软件的初步设计

2.1开发平台的介绍

VC++6.0是Microsoft公司推出的一个基于Windows系统平台、可视化的集成开发环境,它的源程序按C++语言的要求编写,并加入了微软提供的功能强大的MFC(MicrosoftFoundationClass)类库。

MFC中封装了大部分WindowsAPI函数和Windows控件,它包含的功能涉及到整个Windows操作系统。

MFC不仅给用户提供了Windows图形环境下应用程序的框架,而且还提供了创建应用程序的组件,这样,开发人员不必从头设计创建和管理一个标准Windows应用程序所需的程序,而是从一个比较高的起点编程,故节省了大量的时间。

另外,它提供了大量的代码,指导用户编程时实现某些技术和功能。

因此,使用VC++提供的高度可视化的应用程序开发工具和MFC类库,可使应用程序开发变得简单。

VC++6.0有很好的调试功能。

在本次设计中,程序设计环境采用VisualC++6.0。

VC基于C,C++语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在Windows平台无所不能。

但其最大缺点是开发效率不高。

VC适用范围:

  1、VC主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层的调用。

在VC里边嵌入汇编语言很简单。

  2、VC主要用在驱动程序开发。

  3、VC执行效率高,当对系统性能要求很高的时候,可用VC开发。

  4、VC主要适用于游戏开发

  5、VC多用于单片机,工业控制等软件开发,如直接对I

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1