基于MFC与UML的多媒体播放器研究

来源 :中小企业管理与科技·上旬刊 | 被引量 : 0次 | 上传用户:java_xz
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:该播放器采用UML技术与面向对象技术研发,包含音频-视频-图片、信息一览表、播放列表、控制区、文件解析等功能模块。该播放器利用Microsoft MFC及ActiveX技术进行播放界面、操作界面设计。该播放软件功能完备、易用、容错性强、界面友好,能够绑定于当前主流操作系统之上。
  关键词:多媒体播放器;微软基础类库;统一建模语言;ActiveX
  电脑播放器已经成为居家及工作的必备,它可以带来音乐、影视、图片等多元化的娱乐效果[1]。目前市场上免费播放器很多,但大多数传统多媒体播放器的功能较为单一、界面单调,资源存储能力较弱。而功能强大、界面友好、数据安全的多媒体播放器不仅给人们带来前所未有的视觉冲击,并且能够根据不同的要求把不同的媒体文件进行划分与管理[2]。因此,研究开发这样一款能够兼播放、浏览、存储、管理于一体的播放器,为当前研究热点之一。
  1 系统功能需求分析
  考虑方便用户使用及用户个性化设置等诸多因素。最终得出该系统主要功能:首先,可以对多媒体文件进行播放、浏览;其次是可以对这些喜欢的文件进行管理,可以建立播放列表,把自己喜欢的文件加入到列表中,以便今后浏览,并且可以对这些的媒体文件进行表间的编辑管理,如剪切、移动、复制等等。最后,系统自动读取和记录系统的当前状态,系统每次启动时,自动读取配置信息,并配置播放器,当播放器系统关闭时,系统自动保存关闭时刻的系统配置信息,以实现配置记录功能。各项功能具体描述如下:
  ①音频播放:实现对音频文件的播放功能。包括mp3/wma等格式。
  ②视频播放:实现对视频文件的播放功能,包括jpg/png/gif/bmp等格式。
  ③图片播放:实现对图片文件的播放功能,包括wmv/avi/asf/rmvb等格式。
  ④媒体文件分类:根据用户的需求,对混合的多媒体文件进行音频、视频、图片的分类显示。
  ⑤播放控制:实现对媒体播放的控制,播放、暂停、停止、上一个、下一个、编辑、全屏、音量控制、进度控制、进度时间显示等等。
  ⑥资源列表:用来显示当前选定的Play List中的多媒体文件信息列表。
  ⑦资源排序:对资源列表中的多媒体文件信息按照条件进行排序。
  ⑧资源编辑:对资源列表中的多媒体文件进行复制、粘贴、剪切、移动、全选、反选等操作。
  ⑨播放模式:单曲播放、单曲循环、顺序播放、循环播放、随机播放等。
  2 系统总体设计
  2.1 系统总体结构图
  经过系统需求分析,最终确定了该播放软件系统的9个主要功能模块,如图2.1所示:
  图2.1中系统功能模块及其间关联具体说明如下:
  序号1:三大模块向资源列表发送分类及操作消息。
  序号2:三大模块向Control控制区发送类型消息,以重绘Control控制区。
  序号3:资源列表框向播放窗体模块发送所要播放的文件信息消息。
  序号4:资源列表框和Control控制区互发消息,用来根据文件重绘Control控制区和Control控制区控制资源列表框的文件播放及光标定位。
  序号5:Control控制区控制播放窗体的相关播放。
  序号6:信息一览表模块接收资源列表框发送的文件句柄信息,并根据句柄信息显示此文件的全部信息。
  序号7:资源列表框与数据库信息交互,资源列表框从数据库读取信息。
  序号8:PlayList与数据库的信息交互,从数据库读取PlayList的所有List,向资源列表框添加List时,要更新数据库。
  序号9:PlayList与资源列表框相关联,资源列表框根据List名字来检索数据库,来读取文件信息,资源列表框添加文件时需要将其所在的List信息也存入数据库,使之与List进行关联。
  2.2 系统静态结构图
  该软件系统设计采用面向对象设计方法,使用UML作为系统建模工具[3],最后得到了系统的8个主要类,类及其间的关联如图2.2所示:
  上图中系统的功能模块及其间的关联关系具体说明如下:
  系统主类为CMediaDlg,由播放面板控制类CControl(包含各类控制按钮类CButton),播放文件控制类CWMP(该抽象类具体化为各类具体播放控制类CLRC),播放列表控制类CPlayList组成(该类一方面与数据库类DB关联,另一方面具体化为各类播放次序控制类COrder)三个基本类组成,并关联播放媒体应用类CMediaApp。数据库类DB关联媒体分析类CAanalyseMsg及播放列表控制类CPlayList。
  3 系统实现
  3.1 系统主要界面
  多媒体播放器主界面包含本播放器软件的所有可视操作界面。主窗体采用框架设计方法布局播放界面,播放界面分割为上下两大栏,各自分为左中右三栏。界面设计以操作简单流畅,方便用户高效实用为设计目标。系统界面设计采用Microsoft的ActiveX技术及C++程序设计语言[4][5],设计结果图3.3所示。界面具体设计说明如下:上方是菜单栏,有一些设置和扩展功能。左侧上方为媒体文件分类按钮,有音频、视频、图片三大分类,点击相应按钮就会对资源列表框
  中的资源文件进行分类显示;左下方是信息一览表,用来显示当前播放文件的详细信息等等;右侧是资源列表框,用来显示当前选中的播放列表所存储的媒体信息文件,还有一些功能按钮对资源列表框进行操作,包括排序、编辑、播放模式和搜索文件等;正上方是播放器的滚动信息栏,用来显示当前播放器系统的状态信息、当前播放曲目、错误提示信息等等;中间播放区由WindowsMediaPlayer实现,是本播放器软件的显示核心;下方是Control控制区,对本播放器的媒体播放控制按钮全部集成在这一控制区域,并且会根据不同的媒体文件类别进行自动重绘。系统其它界面设计从略。   3.2 系统数据结构实现
  系统主要数据结构设计为Struct_MediaFileMsg结构体的设计,该结构体用来记录单个文件的所有信息。系统其它数据结构从略。
  3.3 系统类函数实现
  播放列表控制类CPlayList为系统基本核心类,该类包含多个功能函数,其中OnSaveAllList函数为其中一个主要功能函数,用来存取数据库中多媒体资源。
  该函数采用模块化程序设计方法,应用windows平台下的MFC框架[6],函数流程具体说明如下:
  ①调用函数时首先读取数据库中的所有的列表名,并存入ListName数组。
  ②调用系统的文件夹浏览对话框,并自定义保存文件的路径。
  ③依次根据列表数组的列表名,搜索数据库的文件列表,读取属于列表数组元素的全部文件信息。
  ④依次把读取到的文件信息形成M3U文件,并保存到本地便于快速存取播放[7]。其他函数及其他类的实现从略。
  4 结论
  该播放器在开发过程中采用面向对象程序设计语言,运用MFC应用程序框架以及Microsoft的ActiveX控件,采用规范的软件开发流程,因此保证了播放软件研发质量。本播放器实现了对图片、音频、视频的多种格式文件的播放,软件使用方便、流畅。主窗体上的视图间可以随意转换是该播放软件技术亮点,同时支持单曲、循环、随机等多种播放模式,还支持音量的调节等一系列的操作。虽然该播放器经过一段时间的使用,满足了用户对播放软件个性化需求,实现了各种多媒体播放功能,提升了公司信息安全度,效果良好,但是系统内存占用情况稍高、歌曲播放时、缓冲时间过长等问题将在今后不断优化。
  参考文献:
  [1]中国行业报告研究中心.2012-2016年多媒体播放器行业发展前景分析及投资规划研究报告[EB/OL].http://www.reportrc.com/ITye/diann-
  aoyuwaishe/256788.html,2012-04.
  [2]吴玲达,老松杨,魏迎梅.多媒体技术[M].北京:电子工业出版社,2007.12:132-145.
  [3]牛丽平.UML面向对象设计与分析[M].北京:清华大学出版社,2007.06:124-136.
  [4]谭浩强.C++程序设计[M].北京:清华大学出版社,2004.07:45-64.
  [5]Mark Lee.C++ Programming for the Absolute Beginner[M].Course Technology, 2009.06:247-281.
  [6]何风华.Windows平台上音乐播放器软件的开发[J].兵工自动化,2000.03:60-62.
  [7]王传君,冯兵,周纯玉.基于文件遍历视频点播系统的设计与实现[A].中国航海学会通信导航专业委员会2006年学术年会论文集[C],2006.08:373-377.
其他文献
3~6岁幼儿处于具体形象思维阶段,抽象逻辑思维才刚刚萌芽,他们的认识很大程度依赖于行动。此阶段,幼儿对材料的探索占了活动中相当大的组成部分。对于材料的探索是活动的主要
摘 要:京津冀协同发展已上升为国家战略,区域内人才资源共享也迎来了新的机遇。本文分析了京津冀人才资源共享的意义,阐明了三地人才资源的差距,进而提出了京津冀人才资源共享的策略。  关键词:京津冀协同发展;人才资源共享;人才差距  随着京津冀区域协同发展速度的加快,人才资源协同发展越来越成为京津冀协同发展的关键所在。人是各类要素中最活跃的要素,是社会经济活动的主导因素,人才资源是区域经济合作的重要基础
长期以来澳大利亚的少数人保护处于有限且无序的状态,以土著居民最为显著。本文从澳大利亚土著民族概况,澳大利亚民族政策的演进,澳大利亚少数人保护的制度分析,澳大利亚少数
近几年来,随着我国各行各业的稳步发展,企业竞争日趋激烈。但是,在公平开放的经济环境下,企业为了应对市场竞争给行业带来的压力,必须加强企业预算管理,才能保证其持续健康的
摘 要:在对张家口市招商引资扩展性现状进行梳理的基础上,归纳分析了京津冀协同战略和京张联合申奥双重背景下张家口市进一步推进招商引资工作的机遇和优势,提出了在区域经济体协同联合发展的理念下,要采用服务型政府主导承接产业转移的方式创新招商引资。  关键词:招商引资;现状;对策分析  1 张家口市招商引资扩展性现状分析  近年来,张家口市市委及市政府十分重视招商引资在经济成长中的重要作用,在经济领域继续
大学是每个学子所向往的地方,一个好的大学更能吸引众多的好的学生,好的大学最重要的就是要有良好的学风,才能让每个人的思想品质以及对学生自身的成长得到更好更优的发展。
期刊
制定有效的营销策略,首先要系统地研究消费者的得失感是如何影响消费者的判断和选择的。  我家附近的易初莲花超市,前一段时间做促销,顾客可以凭收银条抽奖,基本上人人都能中奖。奖品无非是些小包洗发水、餐巾纸之类,虽然价值不高,但是很多人都愿意去拿,若是碰到机器坏了拿不到奖品的时候还挺不高兴。中奖的人回家喜滋滋地跟家人说,今天运气不错.中奖了。想一想,如果超市选择在你付款的总金额里扣除1元,与前一种促销相
在互联网信息技术、广播电子通信技术快速发展的背景下,传统广播电视台已经纷纷转型升级成为融媒体中心。在此背景下,新闻节目播音主持工作也发生了显著的变化,对播音主持要
随着《新课程标准》的改革要求,小学作文的要求在不断的发展与变化。层递式模式教学所未曾地伸进,就是一层一层的逐步深入的一种应用方法,这种方法一般是为纵向机构是,但是他