媒体播放器综合设计报告_第1页
媒体播放器综合设计报告_第2页
媒体播放器综合设计报告_第3页
媒体播放器综合设计报告_第4页
媒体播放器综合设计报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

资料范本本资料为word版本,可以直接编辑和打EB,感谢您的下载媒体播放器综合设计报告地点:时间:说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容重庆交通大学信息科学与工程学院《程序设计实训I》综合设计报告媒体播放器学号:姓名:专业:班级:实验室(中心\):指导老师:完成时间:2012.12.14重庆交通大学信息科学与工程学院综合设讣任务书目录TOC\o"1-5"\h\z引言4系统设计的基本概念与原理4需求分析5系统设计6编程与实现-9测试内容与结果.11心得体会16对这门课的建议17九、参考文献17教师评阅意见:签名:年月日成绩:以下为设计报告正文内容引言现在人们娱乐的方式多种多样,已经有了很明显的变化,以前的户外运动现在已经在锐减,换而之的是网络游戏与网上聊天,而在同时听听音乐看看电影也成为了巨大的需求,所以很多多媒体播放软件出现了,形形色色各种都有,而我也赶下时髦,体验一下编写的过程,现在才发现这并不难,重要的是插件的插入,而其他的功能实现只需调用相应函数就行了!系统设计的基本概念与原理基本概念与知识.MFCN!FC(MicrosoftFoundationClasses),是一个微软公司提供的类库(classlibraries),以C廿类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。MFC编程特点微软基础类(MicrosoftFoundationClasses),是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinDOS下开发人员使用的专业C++SDK(SDK,StandardSoftwareDevelopKit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包。MFC是WinAPI与C++的结合,API,即微软提供的Windows下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程J芋开发语言本身,可以允许用户使用各种各样的笫三方的编程语言来进行对Windows下应用程序的开发,使这些被开发出来的应用程序能在Windows下运行,因此用它们开发出来的应用程序都能工作在Windows的消息机制和绘图里,遵守Windows作为一个操作系统的内部实现,MFC是微软对API函数的专用C++封装,这种结合一方面让用户使用微软的专业C++SDK来进行Windows下应用程序的开发变得容易,因为MFC是对API的封装,微软做了大量的工作,隐藏了好多程序开发人员在Windows下用C++&MFC编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图等。3开发环境开发工具:MicrosoftVisualC++6.0开发语言:C#运行支持环境:硬件环境:CPU1.0G以上内存256M以上硬盘20G以上操作系统:MicrosoftWindows2000,XP,VISTA,Windows7需求分析1、功能需求MP3媒体播放器软件是采用MFC设计的Windows应用程序,在MFC的集成环境下填加文档/视图结构。这种程序框架和简单应用程序之间的重要区别就在于形成应用程序的主窗口不只需要一个类的对象,而是需要三个类对象:1框架窗口类对象,2视图类对象,3文档类对象。1、2、3组成应用程序的界面。在加入MP3的解码使程序界面有播放MP3的功能。MP3媒体播放应用程序是用WindowsMediaPlayer的界面插件,并且应用MediaPlayer的解码功能,使应用程序能够界面清析、播放格式增加并且操作简单。能够打开文件放进播放列表,点击播放键使其播放,暂停键暂停,停止键停止,重播键重新播放,全屏键全屏播放,退出键退出程序,增大键增大音量,减小键减小音量!2、性能需求性能需求是软件工程需求分析的一项重要内容。本应用程序的的性能需求播放音乐。具体功能包括播放MP3、WAV、AVI等媒体格式。应用程序界面下的功能选项中点击打开,之后点击所要播放的文件,就用将该文件播放。3、分析分析的任务是确定待开发的软件项目“做什么”,也就是说待开发的软件所具有的功能。具体任务包括确定软件系统的功能需求,性能需求。其中,功能需求应给出软件必须具备的全部功能。待开发的软件是MP3媒体播放器,要分析出它所能播放的媒体格式;性能需求是指软件的安全性,可靠性,可维护性,可靠性,精度,容错性能力,运行效率等。这些是保证开发之后能够正常的使用。在大型软件的分析中,软件的分析需要反复多次,以达到更加准确,这是开发软件的基本要求。4、用户分析1)要求有稳定的性能,可实现要求的功能;2)拥有较好的界面,很方便人操作!系统设计系统架构设计多媒体播放器的具体功能如下:(1)打开本地媒体文件(可支持的文件有*.mp3),在打开对话框可以对本地媒体文件进行查找;(2)播放控制即可通过面板上按钮(3)暂停播放媒体文件,继续播放媒体文件;(4)停止播放媒体文件,播放进度条返回起点;(5)调整播放音量(增大、减小、静音切换);系统功能设计根据MP3播放器的功能设计,将整个系统分为操作界面块(播放器操作界面)、操作参数处理块(MFC控件)、播放控制块(WindowsMediaPlayer控件)三个模块,这三个模块各自的功能与它们之间的关系构成了整个播放器的构架。下面是每个模块的具体描述:操作界面模块:即多媒体播放器的操作界面,将用户的各项操作作为参数传递给操作参数处理块(MFC控件),并接收操作参数处理块的处理结果(列表相关)与播放控制块的播放控制显示处理操作结果,将此信息返回给用户;操作参数处理块:山MFC通用控件控制,接收来自操作界面的各项操作信息,并对这下操作进行分类处理,若是有关播放控制类的操作则将把操作请求信息加工后传递给模仿控制模块;若是列表控制类的则将这些操作先加工处理再将信息传递给播放块。再者接受来自播放控制模块的处理数据,并将处理结果综合整理后传递给操作界面,以呈现于用户。播放控制块:山WindowsMediaPlayer系统调用控制,接收来自操作参数处理块的媒体播放控制等相关操作,并将处理结果传递给操作参数处理块。子系统与模块设计打开菜单项,打开本地媒体文件。调用WindowsAPICFileDialog打开打开文件对话框。输入参数:选取的文件。输出参数:文件路径。Play菜单项,将当前暂停或者停止状态的媒体文件的播放状态切换全播放播放状态。输入参数:Play指令选取。输出参数:播放控制信息。暂停菜单项,将当前处于播放状态的媒体文件的播放状态切换至暂停。输入参数:Pause指令选取。输出参数:暂停控制信息。停止菜单项,将当前处于播放状态或暂停状态的媒体文件的播放状态切换至停止状态。输入参数:停止指令选取。输出参数:停止控制信息。退出菜单项,退出多媒体播放器程序。输入参数:退出指令选取。输出参数:Oo音量增大项,控制音量大小,将音量增大。输入参数:音量增大指令选取。输出参数:音量增大控制信息。首屋减小项,控制首量大小,将首量减小。输入参数:音量减小指令选取。输出参数:音量减小控制信息。播放进度条,能与媒体文件的播放进度同步,以显示当前的播放进度。输入参数:媒体文件的长度信息。编程与实现1系统详细设计与实现多媒体播放器的详细设讣与实现打开媒体文件代码:voidCMediaPlayerDlg::0n0pen(){charszFileFilter口="Mp3File(*.mp3)|*.mp31"Z/WmaFile(*.wma)|*.wma"z,VideoFile(*.dat)I*.datI"WaveFile(*.wav)|♦.wav;""AVIFile(*.avi)|*.avi""MovieFile(*.mov)|*.movMediaFile(*.mmm)I*.mmm"MidFile(*.mid;*,rmi.rmi"MPEGFile(*.mpeg)I*.mpeg"AllFile(*.*)|*.*|r;//文件类型过滤CFileDialogdig(TRUE,NULL,NULL,OFN.HIDEREADONLY,szFileFilter);边(dig.DoModal()=IDOK)(CStringPathName=dlg.GetPathName();PathName.MakeUpper();m_ActiveMovie.SetFileName(PathName);}关闭媒体文件代码:voidCMediaPlayerDlg::0nClose(){m_ActiveMovie.CloseWindow();//TODO:Addyourcontrolnotificationhandlercodehere}播放打开的文件代码:voidCMediaPlayerDlg::0nPlay(){m_ActiveMovie.Run();//播放文件SetTimer(O,20,NULL):CStringPathName=m_ActiveMovie.GetFileName();intstrLength=PathName・GetLength()+1:char*pValue=newchar[strLength];strncpy(pValue,PathName,strLength);SetWindowText(pValue);}暂停正在播放的文件代码:voidCMediaPlayerDlg::0nPause()(m_ActiveMovie・Pause();//TODO:Addyourcontrolnotificationhandlercodehere}停止打开的文件代码:voidCMediaPlayerDlg::0n0nstop()(m_ActiveMovie.Stop();〃停止播放文件KillTimer(0);//关掉定时器//TODO:Addyourcontrolnotificationhandlercodehere}降低音量代码:voidCMediaPlayerDlg::0nLower()longVolume=m_ActiveMovie・GetVolume();m_ActiveMovie・Pause();m_ActiveMovie・SetVolume(VolumeT00);m_ActiveMovie・Run();}⑺增大音量代码:voidCMediaPlayerDlg::0nUpper()(longVolume=m_ActiveMovie・GetVolume();m_ActiveMovie・Pause();m_ActiveMovie・SetVolume(Volume+100);m_ActiveMovie・Run();//TODO:Addyourcontrolnotificationhandlercodehere}⑻快放代码:voidCMediaPlayerDlg::0nFast()(m_ActiveMovie・SetRate(m_ActiveMovie・GetRate()+l);//TODO:Addyourcontrolnotificationhandlercodehere}慢放代码:voidCMediaPlayerDlg::0nSlow()if(m_ActiveMovie.GetRate()>1)m_ActiveMovie.SetRate(m_ActiveMovie.GetRate()~1);//TODO:Addyourcontrolnotificationhandlercodehere}重放voidCMediaP1ayerD1g::OnRepeat()(//TODO:Addyourcontrolnotificationhandlercodehereif(!isRepeat)(isRepeat二TRUE;SetDlgltemText(IDC_STATIC2,"Status:Repeat");}Else(isRepeat二FALSE;SetDlgltemText(IDC_STATIC2,"Status:Normal");}测试内容与结果概述打开文件(从曲库中找出歌曲加入列表中)播放,暂停,停止,音量调节,快放,慢放测试环境(1)测试工具:MicrosoftVisualC++6.0测试计划(1)打开文件(2)播放及各按钮的使用(3)多次运行,检查稳定性测试项口及结果(1)打开文件经过测试发现此功能正常工作。(2)测试播放按钮经过测试发现此功能正常上作。(3)测试暂停按钮经过测试发现此功能正常工作。(4)测试停止按钮经过测试发现此功能正常工作。(5)声音增大测试经过测试发现此功能正常上作。(6)声音减小测试经过测试发现此功能正常工作。七・心得体会1.本次课程设计的任务是利用VC++开发一个支持mp3、等不同音频格式的多媒体播放器,以便通过课程设讣掌握多媒体编程的基本原理。通过本次课程设计自己进一步熟悉了VisualC++6.0开发环境工具,巩固复习了MFC的应用程序编程,对WindowsMediaPlayer的开发实现有了深刻的了解,更熟悉了C++语言,体会到了面向对象的开发过程。多媒体播放器的设讣是基于MFC框架,当然也是基于Win32开发的应用程序。在开发过程中为了完善各多媒体播放器功能,设计用户之间友好的接口,使用了MFC通用控件:按钮、静态文本框、编辑框、组合框、列表框,在制作过程中对这些控件的属性、事件及方法都有了较为熟练的掌握。另外基于MFC开发程序必定要对整个MFC的框架有所了解,在设计时也进一步熟悉了MFC相关调用的实现。在实现媒体播放这一重要功能时,采用了调用WindowsMediaPlayer控件来实现基本播放功能,,通过本次的课程设计,对C++,MFC,面向对象的开发过程有了更深的认识与掌握,学习到了MediaPlayer控件调用,充实了自身,学到很多有用的工具、方法。经验教训及其分析(1)真是不经历不知道,我现在才发现自己的基础是那么的薄弱,MFC的各种控件的使用方法都不是很熟,尤其是列表框,无论怎么学,使用什么方法,都弄不了,真是愁煞我也。以后一定要极爱按基础的扎实,为以后的编程提供巨大的方便!(2)以后做事要做好全局的规划,决定好了之后就不要轻易的改变,否则会误了大事,这让我想到了那个挖井的故事,这儿挖一点挖不出水就不挖了,那儿挖不出水也不挖了,最后挖了好多地方,还是没有挖出来一滴水,所以做什么事都是浅尝辄止的话,最后是成不了大事的!就比如说我这次,做了很多却一个也没做成。(3)通过这次课设,我学会了很多,应该说很熟练的掌握了MFC控件的添加与使用,也对使用MFC的各种控件驾轻就熟了,也学会了一定的调试技巧,感觉收获颇丰,而遗憾的是自己未能独立的完成一个项口!八、对这门课的建议这门课程应该以实验和上机操作为主,通过这种方式才能更好的提高

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论