ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:526.54KB ,
资源ID:13488888      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13488888.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(mfc视频播放器.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

mfc视频播放器.docx

1、mfc视频播放器 PINGDINGSHAN UNIVERSITY 实训论文(设计) 题 目: 项目四:MFC视频播放器 院(系): 软件学院 专业年级: 软件工程 2012级 姓 名: XXX 学 号: * 指导教师: 吕琼帅 2013年12月25日目录1 绪论 - 0 -1.1 项目设计的目的 - 1 -1.2 项目设计的意义 - 2 -2 工具及核心功能介绍 - 2 -2.1 开发人员及工具 - 3 -2.2 核心功能 - 3 -2.2.1 系统流程图 - 4 -2.2.2 核心模块 - 5 -3 系统运行环境及截图 - 6 -3.1系统运行环境 - 6 -3.2 系统截图 - 6 -4

2、附 录 - 14 -4.1 系统设计实现的基本原理与过程 - 14 -4.2 如何创建Player应用程序 - 14 -心 得 - 15 -参考文献 - 16 -1 绪论 基于MFC应用程序的数据类型转换软件,个人觉得这个小程序很实用,可以实现人们对视听的享受,程序主要是根据编码进行统计,这在以后的程序开发中经常要用到。对于我们日常的生活学习有很大的作用。随着人们对视听效果的不断提高,多媒体技术已经成为计算机领域发展的重要部分。而且,随着编程平台的不断发展,开发多媒体程序不再是一件繁琐、艰难的工作了,无需具备太多的专业知识就可以编写多媒体程序。本案例就介绍用VC6.0自带的一个ActiveX控

3、件-ActiveMovieControl Object,来建立自己的多媒体播放器。本案例将利用Visual C+6.0设计一个可以播放*.mp3,*.wma,*.mdi,*.wav,*.avi,*.dat等文件的媒体播放器。1.1 项目设计的目的 利用此次课程设计,进一步熟悉C+语言,熟悉Visual Studio 相关的开发环境,结合Windows Media Player ActiveX 控件的使用,进一步学习体会MFC使用与制作逐渐培养学生的编程能力、用计算机解决实际问题的能力。利用VC+开发一个支持mp3、wma、wmv、avi、mpg等不同视频、视频格式的多媒体播放器。通过课程设计掌

4、握多媒体编程的基本原理。本课程设计的目的是制作一个可播放目前主流媒体格式的多媒体播放器,其基本功能应具有媒体播放、音量调节、播放进度选择、暂停、停止以及歌曲信息的查询与添加等,使之成为一款简易的媒体播放设备,能够完美的播放市面上大多数的音、视频文件。在课程设计中,系统开发平台为Windows XP Professional SP2,程序设计环境采用Visual C+ 6.0。在程序设计中,我利用了Microsoft公司开发的ActiveX控件可视动画控件ActiveMovie,程序通过调试运行,初步实现了设计目标,并且经过适当完善及美化后,将可以成为一款精简实用的多媒体播放软件。该播放器是基于

5、MFC集成开发环境,利用ActiveMovie控件实现媒体播放的功能,除了基本的播放控制外,还具有多文件自动顺序循环播放、全屏播放、静音等实用功能1.2 项目设计的意义这个课程设计的目的就是制作一个能够播放音频、视频文件的播放器,并使它具备一些简单的操作处理功能,如播放暂停的控制,音量的调节,多文件自动循环等等。将这个小型播放软件做得尽量的小巧、实用。多媒体技术是当今信息技术领域发展最快、最活跃的技术,是新一代电子技术发展和竞争的焦点。多媒体技术融计算机、声音、文本、图像、动画、视频和通信等多种功能于一体,借助日益普及的高速信息网,可实现计算机的全球联网和信息资源共享,因此被广泛应用在咨询服务

6、、图书、教育、通信、军事、金融、医疗等诸多行业,并正潜移默化地改变着我们生活的面貌。多媒体技术已经成为当今比较热门的研究课题,特别是伴随着多媒体技术的网络化,使得多媒体技术的发展前景无限广阔,因此掌握多媒体及多媒体技术的相关知识,了解多媒体技术当前的发展状况及未来的发展前景,并能熟练地进行多媒体技术的开发,对于当前即将毕业的大学生来讲,是很有发展前途的。基于此,我选择了此课题多媒体播放器的设计与实现,期望通过对此课题的研究与开发,能深入了解多媒体技术,特别是掌握多媒体技术在媒体播放器中的应用。2 工具及核心功能介绍此程序采用模块化程序设计方法,既便于软件功能的各种组合和修改,又便于技术维护人员

7、进行补充、维护,尽量利用人们现有的软件环境,采用简单快捷的设计方案,从而达到使用方便,容易操作的目的,满足大多数人日常使用的需要,并达到操作过程的直观、方便、实用、 安全等要求。2.1 开发人员及工具开发人员开发工具:Microsoft Visual C+ 6 .0开发语言:C+运行支持环境:硬件环境: CPU 1.0G以上 内存256M以上 硬盘20G以上操作系统:Microsoft Windows 2000,XP,VISTA,Windows 7开发平台介绍:Visual C+ 6.0。它是微软公司推出的开发Win32应用程序(Windows 95/98/2000/XP/NT),面向对象的可

8、视化集成工具。它的最大优点就是提供了功能强大的MFC类库,MFC是一个很大的C+类层次结构,其中封装了大量的类及其函数,很多Windows程序所共有的标准内容可以由MFC的类来提供,MFC类为这些内容提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓,这将简化编程工作,大大的减少程序员编写的代码数量,使编程工作变得更加轻松容易。之所以选择Visual C+作为开发工具,不仅仅因为曾经有过使用它的经验,看中的更是它的功能强大和使用方便。它本身不仅具有极其强大的编程能力,它允许选择和管理外接程序,并内含多种实用控件,这些对Visual C+的扩充又

9、进一步增强了它的开发环境的能力。2.2 核心功能该播放器程序共分7个模块,结合ActiveMovie控件可以实现预期的所有功能。其中,添加模块用于打开媒体文件并添加到播放列表;关闭模块用于结束循环并关闭播放器;播放模块用于设置定时器开始播放;暂停模块用于暂停播放;停止模块用于结束循环并停止播放;全屏模块用于全屏化播放视频文件;循环模块包含两个函数,分别用于显示播放模式是否为循环、实现顺序循环播放列表中的文件。2.2.1 系统流程图 程序运行在vc+6.0的环境中,在运行的过程中的每一个操作都会显示出播放器的不同的功能模块,程序流程图如下图1所示: 图 1 : 系统流程图2.2.2 核心模块 本

10、程序的核心模块为,完成对视频播放器的需求分析、功能模块划分并由此设计了播放器应用程序,实现了各功能与控件的连接。本软件使用方便快捷、应用面广泛、简单易学、适合各种人群所使用。程序的功能模块图如图2: 图 2:功能模块划分多媒体播放模块数据流图如下图3: 图 3:数据流图 3 系统运行环境及截图3.1系统运行环境MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(class libraries),以C+类的形式封装了Windows的API。并且包含一个应用程序框架,以减少应用程序人员的工作量。其中包含的类包含大量的Windows句柄封装类和很多Windo

11、ws的内建控件和组建的封装类。Windows Media Player 包括用于呈现音频和视频的Microsoft ActiveX控件。该控件可在任何运行Windows Media Player的计算机上获得。Windows Media Player是一种独立的技术,此外,它还包括了一个ActiveX控件形式的组件对象模型(com)服务器(Player与ActiveX控件之间的关系相当于Microsoft Internet Explorer与其所提供的WebBrowser ActiveX控件之间的关系)。有两种方法可用于创建使用Windows Media Player ActiveX控件的应用

12、程序。你可以在Web应用程序中使用该控件,也可以在基于Windows的应用程序中使用它。3.2 系统截图1)创建MFC视频播放器界面创建对话框模式的播放器界面,在界面添加功能按钮,功能按钮有添加文件,播放文件,删除部分播放列表,删除播放列表,顺序播放,单曲循环播放,随机播放,打开播放列表和退出按钮,其中播放列表为添加一个列表框,播放模式为添加了三个单选按钮。如下图4。播放控件为Windows Madia Player,Windows Media Player为最终用户提供了各种信息和功能,但是,你可能需要提供自定义交互或自定义数据,使用用户页面插件可完成此项工作。Windows Media P

13、layer 的完整模式由许多区域组成,如Now Playing(正在播放)功能和播放列表窗格。某些区域在默认状态下不可见,但最终用户可将其显示为可见。这些区域包括显示在Now Playing功能底部的设置区域,以及显示在播放列表上方的元数据区域。 图 4:播放器界面用户页面插件分五种类型。其中三种类型显示在Player的不同区域中。在每个区域中,每次只启用一个插件。1、显示插件:这些插件占据Now Playing功能中的可视化效果显示区域。由于该区域通常很大,因此比较适合显示大量数据或复杂的交互控件集。2、设置插件:这些插件占据Now Playing功能中的可视化效果显示区域的下面。该区域包含

14、图形均衡器、视频设置和其他用于配置播放或Windows Media Player外观的控件,设置插件比较适合添加相似的自定义功能,使最终用户能够配置Player的外观或行为。3、元数据插件:这些插件位于播放列表上方的一个小区域。他们比较适合显示曲目、唱片集或播放列表的确切信息,同时也适用于简单控件或超链接。例如,Windows Media Player包含一个元数据插件,它显示的封面图形是一个指向有关当前播放的唱片集和音乐家的更多信息的链接。有两类界面插件在Windows Media Player窗口中不显示。1、窗口插件:这些插件占用一个单独的窗口。他们比较适合显示信息或向最终用户提供从No

15、w Playing功能切换到其他功能或加载其他插件时始终存在的交互操作。2、背景插件:这些插件没有图形页面(除非像对待任何插件那样,为他们提供属性页)。他们比较适合最终用户不要求进行输入的自动服务。2)添加bitmap图片为背景图片,单击插入显示添加类型,选择bitmap,绘制图片并创建一个新的函数DrawMainPicture(CDC *pDC),在这个函数中实现将新建的bitmap图片添加到原建立MFC播放器界面上,如下图5显示背景,以及将背景添加上界面的代码。 图 5:添加的bitmap背景源代码: void CMFCDlg:DrawMainPicture(CDC *pDC) CDC M

16、emDC; CBitmap bitmap; BITMAP m_bitmap; bitmap.LoadBitmap(IDB_M); bitmap.GetBitmap(&m_bitmap); MemDC.CreateCompatibleDC(pDC); MemDC.SelectObject(&bitmap); pDC-BitBlt(0,0,m_bitmap.bmWidth,m_bitmap.bmHeight,&MemDC, 0,0,SRCCOPY); bitmap.DeleteObject(); MemDC.DeleteDC();(3)添加播放文件的截图(图6)以及源代码,如在记事本中添加打开文件

17、的方式一样,添加可打开文件使用函数char szFileFilter=媒体文件(*.avi,*.mp3,*.wma,*.mp4)|*.avi;*.mp3;*.wma;*.mp4|; 图 6:添加文件源代码:void CMFCDlg:Onadd() char szFileFilter=媒体文件(*.avi,*.mp3,*.wma,*.mp4)|*.avi;*.mp3;*.wma;*.mp4|; CFileDialog dlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_NOCHANGEDIR,szFileFilter); PO

18、SITION pos=dlg.GetStartPosition(); if(dlg.DoModal()=IDOK) while(pos!=NULL) m_pathname=dlg.GetNextPathName(pos); m_list.AddString(m_pathname); (4)展开播放列表通过函数OnList()通过控件Button展开播放界面的整个界面,展开截图如图7所示: 图 7:展开播放器界面全图(5)单击保存列表,将添加到列表的文件连同根目录一起保存到list.txt中,如下图8所示: 图 8:保存文件以及根目录源代码:void CMFCDlg:Onsave() CStdi

19、oFile file; file.Open(.list.txt,CFile:modeCreate|CFile:modeReadWrite|CFile:typeText); for(int i=0;im_list.GetCount();i+) CString strtemp; m_list.GetText(i,strtemp); strtemp+=n;/需要换行 file.WriteString(strtemp); file.Close();(6)单击删除列表将添加到记事本中的文件名以及根目录删除,如下图9所示: 图 9:删除文件名以及清空记事本源代码:void CMFCDlg:Onlistde

20、l() CStdioFile file; m_list.ResetContent(); file.Open(.list.txt,CFile:modeCreate);(7)单击删除删除选中的播放文件,如下图10所示: 图 10:删除光标选中的文件源代码:void CMFCDlg:Ondellistcur() m_list.DeleteString(m_list.GetCurSel();/删除当前光标所选择的行 Onsave();/自动保存删除某一行后的播放列表(8)退出程序按钮所调用的函数如下图11所示: 图11:退出按钮源代码:void CMFCDlg:Onexit() CDialog:OnC

21、ancel(); KillTimer(1);/一定要记住在退出程序时删除计数器,释放内存,这是个很好的习惯 4 附 录 4.1 系统设计实现的基本原理与过程本课程设计的目标是完成实现一个可播放多种音频视频文件的多媒体播放器。要求播放器能够基本实现音频视频文件的打开,播放,暂停,停止,音量控制等基本播放器操作。多媒体播放器的基本实现过程为。4.2 如何创建Player应用程序Windows Media Player 包括用于呈现音频和视频的Microsoft ActiveX控件。该控件可在任何运行Windows Media Player的计算机上获得。Windows Media Player是一

22、种独立的技术,此外,它还包括了一个ActiveX控件形式的组件对象模型(com)服务器(Player与ActiveX控件之间的关系相当于Microsoft Internet Explorer与其所提供的WebBrowser ActiveX控件之间的关系)。有两种方法可用于创建使用Windows Media Player ActiveX控件的应用程序。你可以在Web应用程序中使用该控件,也可以在基于Windows的应用程序中使用它。要在Web应用程序中使用Windows Media Player,应在页面的超文本标记语言(HTML)中包含一个OBJECT元素。并在OBJECT中包含嵌套的PARA

23、M元素,以指定Windows Media Player ActiveX控件是否可见,包含哪些操作按钮以及该控件的其他属性。通过包含多个OBJECT元素,可在一个Web页面中包含多个控件。要完全控制嵌入的Player,可以在页面的HTML中编写脚本代码。要在基于Windows的应用程序中使用Windows Media Player,可以包含一个对服务于该控件的动态链接库(DLL)的引用。例如,在Microsoft Visual Basic中,使用Components(组件)对话框设置一个对Windows Media Player的引用。最终用户可在任何安装了Windows Media Playe

24、r的基于Windows的计算机上运行该应用程序。他们可以通过已经熟悉的用户页面收听音频或观看视频。企业程序员可以简单地使用Player提供的播放功能,并将其精力集中在应用程序的特定业务需要上。心 得通过对本课程设计的编写,熟悉MCI指令的应用开发功能更为强大的播放器,熟悉如何利用Visual C+开发各种应用程序的步骤与一些基本方法与技巧,还知道了一些程序的调试技巧。通过对Visual C+课程设计的实践,可以进一步巩固自己的所学,熟悉了C+语言,同时加强了自己时间动手的能力,如何查找资料,发现问题后如何解决等。总的来说本次课程设计,收获颇丰。在前面实现播放等基本功能时候并没有遇到太大的困难,这要基于强大的多媒体控制接口,只要简单的发送一些命令便可以实现这些基本功能。但是问题总是不断会出现的,关键是要如何去解决它。还有细节真的很重要。在此我也发现,最好是把前面做好的工作做一个记录,不然虽然你前面记得怎么做的,但是难免会忘掉一些细节问题。这样既减少了出错的概率,也加快了解决问题速度。最后总算完成了程序,尽管还不完善,也存在一些问题,但是这只是开始,以后只会不断提高,越来越好。参考文献 1郑莉,董渊。C+语言程序设计(第4版)。北京:清华大学出版社。2003

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2