当前位置:文档之家› 多媒体播放器论文

多媒体播放器论文

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

在课程设计中,系统开发平台为Windows XP Professional SP2,程序设计环境采用Visual C++ 6.0。

在程序设计中,我利用了Microsoft公司开发的ActiveX控件——可视动画控件ActiveMovie,程序通过调试运行,初步实现了设计目标,并且经过适当完善及美化后,将可以成为一款精简实用的多媒体播放软件。

该播放器是基于MFC 集成开发环境,利用ActiveMovie控件实现媒体播放的功能,除了基本的播放控制外,还具有多文件自动顺序循环播放、全屏播放、静音等实用功能。

关键词程序设计;ActiveMovie控件;多媒体;播放器目录1.引言 (1)1.1系统的设计目标和系统的意义 (1)1.2多媒体播放器将达到的效果 (2)1.3软件的开发设计思想 (2)1.4开发工具的介绍 (3)1.5可行性分析和需求分析 (3)2 软件的需求分析和模块设计 (4)2.1软件的需求分析 (4)2.2软件的模块设计 (4)3. 数据库设计 (5)3.1数据需求分析 (5)3.2数据库概念结构设计 (5)3.3数据库逻辑结构设计...................................................... (6)3.4数据库结构的实现 (7)4多媒体播放器软件设计 (7)4.1模块实现函数说明 (7)4.2主要变量声明 (8)4.3设计多媒体播放器界面 (9)4.4播放器模块设计 (9)4.5 功能模块设计 (10)4.6歌曲信息模块的设计 (13)5 程序实现结果 (17)5.1 程序运行流程图 (17)5.2 播放器实现结果演示 (18)结束语 (23)考文献 (24)附录:源程序清单1 引言随着多媒体硬件环境和软件环境的不断完善,多媒体在人类文化生活中扮演的角色越来越重要。

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

利用多媒体技术可为各类咨询提供服务,如旅游、邮电、交通、商业、金融、宾馆等,多媒体技术还将改变未来的家庭生活,尤其是在大部分计算机软件开发中都涉及多媒体软件技术的应用。

简单说,多媒体(Multimedia)就是多种媒体的结合和使用。

这些媒体可以是图形、图形、声音、文字、视频、动画等表现形式,也可以使显示器、扬声器、电视机等信息的展示设备以及传输信息的光纤、光缆、电磁波等介质,还可以是存储信息的磁带、光盘、磁盘等存储设备。

这些媒体的直接结合、综合使用,就构成多媒体。

确切的定义是,多媒体是一种能够让用户以交互方式将文本、图像、图形、音频、动画、视频等多种信息,经过计算机的软硬件设备获取、操作、编辑、存储等处理过程后,以单独的或合成的形态表现出来的技术和方法。

多媒体播放器就是汇集了多媒体方面的多种技术,使多媒体实现化的一种软件。

1.1系统的设计目标和系统的意义这个课程设计的目的就是制作一个能够播放音频、视频文件的播放器,并使它具备一些简单的操作处理功能,如播放暂停的控制,音量的调节,多文件自动循环等等。

将这个小型播放软件做得尽量的小巧、实用。

多媒体技术是当今信息技术领域发展最快、最活跃的技术,是新一代电子技术发展和竞争的焦点。

多媒体技术融计算机、声音、文本、图像、动画、视频和通信等多种功能于一体,借助日益普及的高速信息网,可实现计算机的全球联网和信息资源共享,因此被广泛应用在咨询服务、图书、教育、通信、军事、金融、医疗等诸多行业,并正潜移默化地改变着我们生活的面貌。

多媒体技术已经成为当今比较热门的研究课题,特别是伴随着多媒体技术的网络化,使得多媒体技术的发展前景无限广阔,因此掌握多媒体及多媒体技术的相关知识,了解多媒体技术当前的发展状况及未来的发展前景,并能熟练地进行多媒体技术的开发,对于当前即将毕业的大学生来讲,是很有发展前途的。

基于此,我选择了此课题——多媒体播放器的设计与实现,期望通过对此课题的研究与开发,能深入了解多媒体技术,特别是掌握多媒体技术在媒体播放器中的应用。

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

1.3软件的开发设计思想本系统开发设计思想:●尽量利用人们现有的软件环境,采用简单快捷的设计方案,从而达到使用方便,容易操作的目的;●此播放器可以满足大多数人日常使用的需要,并达到操作过程的直观、方便、实用、安全等要求;●软件采用模块化程序设计方法,既便于软件功能的各种组合和修改,又便于技术维护人员进行补充、维护。

1.4开发工具的介绍●系统开发环境操作系统:Windows XP Professional 简体中文版开发平台:Visual C++ 6.0简体中文版●开发平台介绍Visual C++ 6.0。

它是微软公司推出的开发Win32应用程序(Windows 95/98/2000/XP/NT),面向对象的可视化集成工具。

它的最大优点就是提供了功能强大的MFC类库,MFC是一个很大的C++类层次结构,其中封装了大量的类及其函数,很多Windows程序所共有的标准内容可以由MFC的类来提供,MFC类为这些内容提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓,这将简化编程工作,大大的减少程序员编写的代码数量,使编程工作变得更加轻松容易。

之所以选择Visual C++作为开发工具,不仅仅因为曾经有过使用它的经验,看中的更是它的功能强大和使用方便。

它本身不仅具有极其强大的编程能力,它允许选择和管理外接程序,并内含多种实用控件,这些对Visual C++的扩充又进一步增强了它的开发环境的能力。

1.5 可行性分析和需求分析●经济可行性由于该软件属于个人开发,无需过大的资金投入.所以经济上是可行的。

●技术可行性VC++6.0中文版作为一个关系型数据库系统,它提供了面向对象的编程技术,可简化数据库管理,使开发应用程序这艰辛的工作就象堆木那样简单方便.另外, VC++6.0中文版开发的应用程序可以独立运行于WINDOWS平台.VC++6.0中文版,它是运行于W indows95/98和Window XP平台32位数据库系统,充分发挥了32位微处理器强大的32位数据处理性能.它功能强大,直观易用,支持客户/服务器结构和面向对象编程,提供多种可视化编程工具,支持最新Internet技术,WWW数据库的设计,最新流行的ActiveX 等。

VC++6.0中文版完全支持OOP(面向对象)的应用程序设计方法,VC++6.0使用了真正的类,包括继承性,封装性和多态性,用可视方式创建类,查看类及类代码;利用表单向导进行专业级界面设计;对表关系进行可视化查看;可利用OLE 自动化来包含其他软件(如Excel, word)中的对象并使用这些软件。

通过VC++6.0对象和事件模型,用户可以快速创建和实现无模式(Modeless)的应用程序;利用生成器和工具栏,开发人员可以快速开发应用程序,而省去编写大量的代码、定义繁多的属性。

总之,VC++6.0中文版是一种适用于专业人员的开发工具。

●人员可行性我目前时间充足,可以完成开发任务。

而且C++语言和算法的功底还行,可以参与系统的算法设计与开发。

我都有有深厚的文字功底,可以参与用户文档的制作、内部文档整理、后期测试等任务。

2 软件的需求分析和模块设计2.1软件的需求分析当今互联网上已经有许多种类繁多的媒体播放器,而且都已经制作的相当完善。

一般软件都支持大多数的主流媒体格式,具有十分友好的界面,强大的功能,甚至有些播放器软件(如国产软件“暴风影音”)甚至可以支持外部插件。

但是强大繁多的功能,漂亮的界面带来的副作用就是内存占用量的正比上升。

而我开发制作这款播放器的意图便是利用最小的内存和系统资源进行最基本的视听需要,让我们在享受视觉和听觉的美好享受时不用以大量的系统资源占用为代价。

本程序要求实现的基本功能是实现音/视频的播放,要求主要的控制功能是播放、暂停、声音的大小控制、播放的拖放等功能。

根据这些要求应该有相应的软硬件支持才能获得实现。

可行性方面,我的计算机有声卡和集成显卡,使用的操作系统为微软的Windows XP,同时也安装了Visual C++6.0中文版。

这个多媒体播放器基本上对软硬件没有太高的要求,在我目前的机器配置下足够实现它的全部功能。

2.2软件的模块设计该播放器程序共分8个模块,结合ActiveMovie控件可以实现预期的所有功能。

程序的功能模块图如图1:图1 功能模块说明其中,添加模块用于打开媒体文件并添加到播放列表;关闭模块用于结束循环并关闭播放器;播放模块用于设置定时器开始播放;暂停模块用于暂停播放;停止模块用于结束循环并停止播放;全屏模块用于全屏化播放视频文件;音量模块包含三个函数,分别用于增大音量、降低音量、静音;循环模块包含两个函数,分别用于显示播放模式是否为循环、实现顺序循环播放列表中的文件。

3数据模型分析与设计3.1数据需求分析通过对多媒体播放器的功能和数据流程分析,设计的数据项和数据结构如下:●多媒体静态数据:主要是包括界面的设置,控键等等。

●多媒体动态数据:解码信息流、声音流、图象流等。

●歌曲的基本信息:包括的数据库项有歌曲名称、歌手姓名、作词、作曲,所属专辑名称,发行年月等。

因为本程序中只涉及到歌曲的基本信息,为了简单说明,在数据库中只包含了与歌曲有直接关系的数据项。

3.2数据库概念结构设计●多媒体播放模块,其数据流图如下:图2 媒体播放数据流图●歌曲信息的设计规划出的实体有:歌曲信息实体、歌手实体、作词实体、作曲实体、专辑名称实体。

实体和实体之间的关系E-R图如图3所示:3.3数据库逻辑结构设计为数据库歌曲信息表添加如下数据表:图4 歌曲信息表结构图5 信息详情表结构创建数据源为数据库创建用户DSN,数据源名称为”歌曲信息”如下:图6 创建数据源3.4数据库结构的实现在需求分析、概念结构设计的继承上得数据库的逻辑结构之后,我们就可以在VC++6.0数据库系统中实现该逻辑结构。

数据库的逻辑结构,直接使用VC++6.0的项目管理器来实现,在这之前,先建一个名为songinformation的项目,保存在磁盘。

相关主题