基于MFC的视频播放器报告Word格式文档下载.docx

上传人:b****6 文档编号:17050813 上传时间:2022-11-28 格式:DOCX 页数:25 大小:987.26KB
下载 相关 举报
基于MFC的视频播放器报告Word格式文档下载.docx_第1页
第1页 / 共25页
基于MFC的视频播放器报告Word格式文档下载.docx_第2页
第2页 / 共25页
基于MFC的视频播放器报告Word格式文档下载.docx_第3页
第3页 / 共25页
基于MFC的视频播放器报告Word格式文档下载.docx_第4页
第4页 / 共25页
基于MFC的视频播放器报告Word格式文档下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

基于MFC的视频播放器报告Word格式文档下载.docx

《基于MFC的视频播放器报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于MFC的视频播放器报告Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。

基于MFC的视频播放器报告Word格式文档下载.docx

Keywords:

videoplayer;

Activecontrol;

MicrosoftFoundationClasses

1绪论

1.1课题背景

随着计算机技术的飞速发展,以计算机技术为基础的多媒体技术在生活中扮演重要的角色。

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

在现代科学技术飞速发展的今天,信息的传输、信息的处理和信息的共享已成为现代社会进步的关键[1]。

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

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

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

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

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

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

多媒体技术融智能、声音、图像、数据、视频、和通信等多种功能于一体,借助日益普及的高速信息网,可实现计算机的全球联网和信息资源共享,因此被广泛应用于工业、农业、服务、教育、通信、军事、金融等各行各业。

在现代科学技术告诉发展的今天,信息的传输、信息的处理和信息的共享已成为现代社会进步的关键。

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

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

了解了它的背景,那么研究它的意义何在呢?

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

如:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

世界正迈向数字化、网络化、全球一体化的信息时代。

信息技术将渗透到人类社会的方方面面,其中网络技术和多媒体技术是促进信息社会全面发展的关键技术。

在以Internet为代表的通信网上提供的多种多媒体业务会给信息社会带来深远影响,同时将多台异地互联的多媒体计算机协同工作,更好的实现信息共享,提高工作效率,这种协同工作环境代表了多媒体应用的发展趋势。

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

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

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

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

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

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

其实多媒体最看得见的应用,就是数字化的音乐和影像进入了家庭。

由于数字化的多媒体具有传输储存方便、保真度非常高,在个人电脑用户中广泛受到青睐,而专门的数字视听产品,也大量进入了家庭,如CD、VCD、DVD等设备。

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

1.2论文主要研究内容

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

多媒体利用计算机系统的人机交互界面和手段更加友好和方便,非专业人员可以方便地使用和操作计算机。

多媒体技术使音像技术、计算机技术和通信技术三大信息处理技术紧密地结合起来,为信息处理技术发展奠定了新的基石。

多媒体技术发展已经有多年的历史了,到目前为止声音、视频、图像压缩方面的基础技术已逐步成熟,并形成了产品进入市场,视频播放器它的出现使我们的计算机世界丰富多彩起来,也使得计算机的世界充满了人性的气息。

多媒体的未来是激动人心的,我们生活中数字信息的数量在今后几十年中将急剧增加,质量上也将大大的改善。

多媒体正在以迅速的、意想不到的方式进入到人们生活的多个方面。

多媒体技术在未来的发展趋势中将会具有更好、更自然的交互性,形成更大的信息存取服务体系,为未来的人类生活创造出一个在功能、空间、时间以及人与人之间交互更加完美的崭新世界。

1.3论文结构安排

本论文的结构安排如下:

第一章绪论:

主要是介绍基于MFC多媒体播放器的研究背景、目的和意义等;

第二章相关技术介绍:

主要是开发软件及环境的介绍、软件的需求分析和软件的模块设计等;

第三章视频播放器的总体设计:

主要介绍数据模型及模块设计和数据流图;

第四章基于MFC的多媒体播放器系统的实现:

主要是各个模块的设计与实现。

第五章结论:

主要对论文进行总结和今后研究设想。

2相关技术介绍

2.1MFC

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

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

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

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

然而MFC是面向对象程序设计与Applicationframework的完美结合,将传统的API进行了分类封装,并且创建了程序的一般框架,这大大简化了我们的工作[8]。

2.2VisualC++6.0

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

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

这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境)负责将C++源代码编译成汇编文件,转变为中间文件,然后使用连接器将相关的中间文件连接起来,生成可执行的二进制文件[9]。

2.3ActiveX控件

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

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

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

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

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

同时ActiveX控件可以在运行中调试,可以直接从调试窗体的代码跟踪到ActiveX控件工程的代码中[11]。

3视频播放器的总体设计

3.1数据模型

通过对多媒体播放器的功能和数据流程分析,设计的数据项和数据结构如下:

(1)多媒体静态数据:

主要是包括界面的设置、控件等。

(2)多媒体动态数据:

解码信息流、声音流、图像流等。

(3)歌曲的基本信息:

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

3.2软件的模块设计

该播放器分为七个模块如图3.1所示,根据ActiveX控件可实现它们各自相应的功能。

图3.1播放器的模块划分

(1)播放模块:

播放音频、视频文件。

(2)添加模块:

添加歌曲信息。

(3)保存模块:

保存已经添加的歌曲信息。

(4)删除模块:

删除指定的歌曲信息。

(5)清空模块:

删除播放列表中的所有歌曲信息。

(6)循环模块:

实现播放列表中的全部文件的顺序播放、随机播放和单曲循环。

(7)退出模块:

结束当前音/视频文件的播放,但不退出播放器。

3.3播放器数据流图

播放器采用分层设计,位于最上层的是用户界面,所有播放控制操作,用户只需在界面上点击相应得菜单或图标按钮即可轻松实现各种播放操作。

图3.2中展示了用户每次操作在播放器内部引发的一系列动作[12]。

图3.2媒体播放器数据流图

各个模块的详细介绍如下:

(1)音频文件:

专指存放音频数据的文件。

(2)视频文件:

把视频和音频放在一个文件中,以方便同时回放。

(3)获取文件信息:

同时获取并提取音频和视频文件中的信息。

(4)解码器:

是一种将模拟信号转换为数字信号格式,并进一步压缩和传输的设备。

(5)解码:

用解码器把数码还原成它所代表的内容。

(6)解码信息:

解码器解码出声音流、字幕信息、图像流等解码信息。

(7)声音流:

进行流式传输的声音的信息。

(8)声音控制合成:

声音流通过合成器来产生并修改正弦波形并叠加,然后通过声音产生器和扬声器发出特定的声音。

(9)声卡输出:

通过声卡把来自控制合成的原始声音信号加以转换,输出到耳机、扬声器等声响设备。

(10)字幕信息:

在屏幕下方出现的解说文字,如唱词、歌手、任务列表等。

(11)图像流:

进行流式传输的图像的信息。

(12)图像编码:

也称图像压缩,指在满足一定质量(信噪比的要求或主观评价得分)的条件下,以较少比特数表示图像流中所包含信息的技术。

(13)显示控制:

针对现场图像等信号进行采集、显示、控制、远传、通讯、打印等处理,构成数字采集系统及控制系统。

(14)显示叠加:

字幕信息和图像信息叠加起来在屏幕上显示出来的模块。

(15)显卡输出:

叠加后的信息通过显卡输出到显示器上。

4基于MFC的视频播放器的实现

4.1多媒体播放器的界面设计

本播放器的界面是使用控件和位图相结合制作出来的。

首先,打开VisualC++6.0新建一个MFC工程,选择单文档,生成一个窗口。

然后再打开ResouceView,点开Dialog,插入Dialog,在对话框空白处点击右键,选择“插入ActiveX控件”,选择WindowsMediaPlayer。

然后利用相应控件,绘制各个按钮。

最后给对应的按钮添加消息响应函数,实现各个功能[13]。

播放器的主界面设计如下图4.1所示:

图4.1播放器主界面

4.2视频播放器的播放控制功能的设计与实现

4.2.1播放列表

播放列表的设置是为了添加相应的音乐文件,方便音乐文件的浏览、选定播放。

如图4.1所示:

相应函数如下所示:

voidCMFCDlg:

:

Onlist()//播放列表响应函数

{

flag=!

flag;

if(!

flag)

SetWindowPos(NULL,0,0,375,340,SWP_NOMOVE);

//原始窗口的大小设置

}

else

SetWindowPos(NULL,0,0,535,340,SWP_NOMOVE);

//打开列表后窗口的大小设置

4.2.2添加文件

添加音乐文件到播放列表中,首先选定所需要的音乐,然后把选定的音乐添加到播放器的播放列表里面,添加后播放器界面如图4.2所示[14]:

图4.2添加音乐文件

相应的响应函数如下所示:

Onadd()

CharszFileFilter[]="

媒体文件(*.avi,*.mp3,*.wma,*.dat,*.wav,*.mov,*.mmm,*.mpeg,*.mid,*,rmi,*.*)|*.avi;

*.mp3;

*.wma;

*.dat;

*.wav;

*.mov;

*.mmm;

*.mpeg;

*.mid;

*.rmi;

*.*|"

;

CFileDialogdlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_NOCHANGEDIR,szFileFilter);

POSITIONpos=dlg.GetStartPosition();

if(dlg.DoModal()==IDOK)

{while(pos!

=NULL)

{m_pathname=dlg.GetNextPathName(pos);

m_list.AddString(m_pathname)}

4.2.3保存列表

保存列表中的音乐文件,音乐文件被保存在新生成的记事本中。

如下图4.3所示:

图4.3保存列表

Onsave()

CStdioFilefile;

file.Open("

.\\list.txt"

CFile:

modeCreate|CFile:

modeReadWrite|CFile:

typeText);

for(inti=0;

i<

m_list.GetCount();

i++)

{CStringstrtemp;

m_list.GetText(i,strtemp);

strtemp+="

\n"

//需要换行

file.WriteString(strtemp);

file.Close();

4.2.4播放文件

选择音乐,点击播放文件按钮后,播放界面如下图4.4所示:

图4.4播放文件

Onplay()

CStringstr;

if(m_list.GetCount()<

=0)MessageBox("

请先打开最少一个媒体文件!

"

"

Warning"

MB_OK);

else

if(m_list.GetCurSel()<

0)

m_list.SetCurSel(0);

}

intindex=m_list.GetCurSel();

m_list.GetText(index,str);

//获取当前选中文件信息

m_player.SetUrl(str);

//播放当前选中文件

SetTimer(1,1000,NULL);

4.2.5删除当前和清空列表

删除当前

删除选择的音乐文件,将其从列表中删除。

Onlistchoosedelete()

m_list.DeleteString(m_list.GetCurSel());

//删除光标所指的行

Onsave();

//删除本行后自动保存列表

清空列表:

清空列表中的所有音乐文件。

Onlistdeleteall()

CStdioFilefile;

m_list.ResetContent();

file.Open("

modeCreate);

4.2.6播放方式(随机播放、顺序播放、单曲播放)

构建一个计时器,实现播放器的顺序播放、随机播放和单曲循环,如下图4.5所示:

图4.5播放方式

OnTimer(UINTnIDEvent)

intindex=m_player.GetPlayState();

if(index==1)

if(((CButton*)GetD

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

当前位置:首页 > 幼儿教育 > 少儿英语

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

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