《C/C++课程设计》项目报告目录1项目简介................................................................................................................................................11.1项目名称....................................................................................................................................11.2功能概述....................................................................................................................................11.3开发人员及职责........................................................................................................12需求分析...............................................................................................................................12.1功能需求....................................................................................................................12.2性能需求....................................................................................................................23系统设计...............................................................................................................................33.1代码设计....................................................................................................................33.2流程图......................................................................................................................134系统实现及测试.................................................................................................................175项目总结.............................................................................................................................205.1总体总结..................................................................................................................205.2个人总结..................................................................................................................21编辑版word1项目简介1.1项目名称多媒体播放器1.2功能概述此款媒体播放器项目具有以下功能:(1)本地设定目录中包含音频文件的浏览和播放(支持mp3格式)。(2)本地设定目录中包含图片文件的浏览(支持bmp格式)。(3)本地设定目录中包含视频文件的浏览和播放(支持mp4格式)。(4)最近播放列表功能,保存最近播放的10个文件,保存最近追加的10个文件。视频,音频,图片是分开的,都有最近播放列表和最近追加列表。1.3开发人员及职责负责视频模块,以及最后的模块整合,报告的编写负责音频模块,报告的编写负责图片模块,报告的编写2需求分析2.1.功能需求本设计将要实现的是一个单机多媒体播放器,可以对音频、视频、图片进行查看。从其目标功能及特点分析,将本软件功能划分如下:(1)视频播放器:可以打开MP4格式的视频文件。在本地文件夹中将MP4格式的视频文件添加至播放列表,点击播放,或双击列表里的所选项目,就可跳转至视频播放窗口。在播放窗口里,查看视频时,有“播放”,“暂停”,“停止”功能。编辑版word播放中,还有“前进”,“后退”功能,即快进快退功能,以4秒为一个单位,这个单位也可以在代码中进行修改。在观看视频时,还有“上一曲,下一曲”功能,即查看之前添加在播放列表里的视频项。同时,也可以选择播放模式“循环,顺序,随机”,该功能也是基于播放列表实现的。在右边功能键里,还有音量调节,静音功能。除此以外,还可以进行全屏浏览,按“ESC”退出全屏。在主页面,还有两个数据框“最近追加项目”和“最近播放项目”,可以直观地看到最近播放项目,且可以手动清空所有项目。这两个列表只按照时间,保存最近的项目,且最多保存10个。(2)音频播放器可以打开MP3格式的音频。在本地文件夹中将MP3格式的视频文件添加至播放列表,点击播放,或双击列表里的所选项目,就可跳转至音频播放窗口。并且,在主窗口,还有两个数据框“最近追加项目”和“最近播放项目”,可以直观地看到最近播放项目,且可以手动清空所有项目。这两个列表只按照时间,保存最近的项目,且最多保存10个。(此处为该多媒体公共窗口,功能相同,下面的图片浏览器也是一样的。)在播放窗口里,听取音频时,有“播放”,“暂停”,“停止”功能。同样也会有“前进,后退”功能,“上一曲,下一曲”功能,播放模式中的“循环,顺序,随机”,这些功能与上面所述的视频播放器相同。(3)图片浏览器可以打开BMP格式的图片。主窗口同视频、音频播放器一样,在此不多赘述。在浏览图片窗口中,会有“上一张,下一张”功能键,可以在“播放列表,最近播放项目,最近追加项目”任何一个列表中循环,可以自由选择。当图片浏览到所选列表的最后一张时,会自动循环至列表第一张。(4)在主窗口的中,在列表中已添加文件后,有两种方式可以打开文件。一是选中想要打开的文件,点击“播放文件”按钮,二是直接双击列表中的文件,便可进入到相应子窗口进行查看。编辑版word(5)当单独拿出exe文件运行时,会自动在exe所在文件里创建9个文本文档,分别存放三个模块(视频,音频,图片)的三个列表(播放列表,最近播放项目,最近追加项目)信息。2.2.性能需求(1)硬件平台要求由于本软件为单机软件,不需进行大量的数据读写和数据交换,故对系统硬件配置的要求并不高,只要能够平稳运行Windows操作系统的硬件平台,都能够使用本软件。(2)软件开发环境1.OS:MicrosoftWindowsXPSP22.Complier:VisualC++6.0,VisualStudio2005TeamSystem或更高版本3.MSDNLibrary3系统设计3.1.代码设计(1)音频、视频模块1.创建播放器对话框右击Dialog,点击插入,在弹出的对话框中点击Dialog,再点击新建。编辑版word双击新建的得对话框的ID,弹出新建的对话框,删除里面所有的控件。右击,建立类向导,此时弹出Addingaclass对话框,点击ok,输入name为player,点击确定后退出。再在对话框中右击,选择插入ActiveX控件,选择WindowsMediaPlayer,之后在对话框中可以看到一个视频控件。右击,选择属性,在控制中将选择模式改为None,在视频控件中也就看不到一开就有的按键了。再次右击视频控件,选择建立类向导。点击MemberVariables,选择视频控件的ID(默认为ID_OCX1),点击AddVariables。此时会弹出一个对话框。点击确定后,弹出ComfirmClass对话框后,点击OK。此时可以看到建立了很多个类。之后为添加成员变量。Name为m_play,Category为Control,VariableType为CWMPPlayer4.点击确定之后可以看到下面的效果。2.控件与函数声明全局变量CStringplayname,用于记录播放地址;intntype用于记录播放的类型;intnum1,num2,num1用于记录播放的地址在播放列表中的位置,num2用于记录播放列表中总的播放地址。构建成员函数voidplayer::Onplay(CStringpname,intn,intm,intt)编辑版word{playname=pname;num1=n;num2=m;ntype=t;}将前台所选择播放的信息通过函数传递给播放器对话框中在对话框中放上以下几个控件。控件ID标题控件ID标题PushButtonID_bofang播放PushButtonID_zanting暂停PushButtonID_tingzhi停止PushButtonID_qianjing前进PushButtonID_houtui后退PushButtonID_shangyiqu上一曲PushButtonID_xiayiqu下一曲PushButtonID_yinjia+PushButtonID_yinjiang-PushButtonID_jingyin静音PushButtonID_quanping全屏GroupBoxIDC_static播放模式GroupBoxIDC_yinliangkongzhi音量控制RadioButtonIDC_XUNHUAN循环RadioButtonIDC_shunxu顺序RadioButtonIDC_suiji随机编辑版wordTextIDC_static时间进度TextID_timeStaticTextIDC_volumeStatic滑块IDC_SLIDER1控件排列如下并建立如下三个变量添加全局变量inthour,minute,second;编辑版word右击对话框,建立类向导,在Messages中选择WM_INITDIALOG,点击ADDFunction,再点击EditCode在BOOLplayer::OnInitDialog()函数中写入hour=0;minute=0;second=0;UpdateData(true);m_time.Format(%d:%d:%d,hour,minute,second);UpdateData(false);让时间进度一开始为0;同样的方法添加成员函数voidplayer::OnTimer(UINTnIDEvent)让时间进度能随着播放的音视频的进度而走。添加成员函数voidplayer::OnDestroy(){KillTimer(0);CDialog::OnDestroy();//TODO:Addyourmessagehandlercodehere}在退出播放器对话框时,让计数器停止。添加全局变量BOOLqian=false;若qian为true时,表示点击了前进或后