基于MFC多媒体播放器Word文档下载推荐.docx
《基于MFC多媒体播放器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于MFC多媒体播放器Word文档下载推荐.docx(32页珍藏版)》请在冰豆网上搜索。
此款媒体播放器项目具有以下功能:
(1)本地设定目录中包含音频文件的浏览和播放(支持mp3格式)。
(2)本地设定目录中包含图片文件的浏览(支持bmp格式)。
(3)本地设定目录中包含视频文件的浏览和播放(支持mp4格式)。
(4)最近播放列表功能,保存最近播放的10个文件,保存最近追加的10个文件。
视频,音频,图片是分开的,都有最近播放列表和最近追加列表。
1.3开发人员及职责
负责视频模块,以及最后的模块整合,报告的编写
负责音频模块,报告的编写
负责图片模块,报告的编写
2需求分析
2.1.功能需求
本设计将要实现的是一个单机多媒体播放器,可以对音频、视频、图片进行查看。
从其目标功能及特点分析,将本软件功能划分如下:
(1)视频播放器:
可以打开MP4格式的视频文件。
在本地文件夹中将MP4格式的视频文件添加至播放列表,点击播放,或双击列表里的所选项目,就可跳转至视频播放窗口。
在播放窗口里,查看视频时,有“播放”,“暂停”,“停止”功能。
播放中,还有“前进”,“后退”功能,即快进快退功能,以4秒为一个单位,这个单位也可以在代码中进行修改。
在观看视频时,还有“上一曲,下一曲”功能,即查看之前添加在播放列表里的视频项。
同时,也可以选择播放模式“循环,顺序,随机”,该功能也是基于播放列表实现的。
在右边功能键里,还有音量调节,静音功能。
除此以外,还可以进行全屏浏览,按“ESC”退出全屏。
在主页面,还有两个数据框“最近追加项目”和“最近播放项目”,可以直观地看到最近播放项目,且可以手动清空所有项目。
这两个列表只按照时间,保存最近的项目,且最多保存10个。
(2)音频播放器
可以打开MP3格式的音频。
在本地文件夹中将MP3格式的视频文件添加至播放列表,点击播放,或双击列表里的所选项目,就可跳转至音频播放窗口。
并且,在主窗口,还有两个数据框“最近追加项目”和“最近播放项目”,可以直观地看到最近播放项目,且可以手动清空所有项目。
(此处为该多媒体公共窗口,功能相同,下面的图片浏览器也是一样的。
)
在播放窗口里,听取音频时,有“播放”,“暂停”,“停止”功能。
同样也会有“前进,后退”功能,“上一曲,下一曲”功能,播放模式中的“循环,顺序,随机”,这些功能与上面所述的视频播放器相同。
(3)图片浏览器
可以打开BMP格式的图片。
主窗口同视频、音频播放器一样,在此不多赘述。
在浏览图片窗口中,会有“上一张,下一张”功能键,可以在“播放列表,最近播放项目,最近追加项目”任何一个列表中循环,可以自由选择。
当图片浏览到所选列表的最后一张时,会自动循环至列表第一张。
(4)在主窗口的中,在列表中已添加文件后,有两种方式可以打开文件。
一是选中想要打开的文件,点击“播放文件”按钮,二是直接双击列表中的文件,便可进入到相应子窗口进行查看。
(5)当单独拿出exe文件运行时,会自动在exe所在文件里创建9个文本文档,分别存放三个模块(视频,音频,图片)的三个列表(播放列表,最近播放项目,最近追加项目)信息。
2.2.性能需求
(1)硬件平台要求
由于本软件为单机软件,不需进行大量的数据读写和数据交换,故对系统硬件配置的要求并不高,只要能够平稳运行Windows操作系统的硬件平台,都能够使用本软件。
(2)软件开发环境
1.OS:
MicrosoftWindowsXPSP2
2.Complier:
VisualC++6.0,VisualStudio2005TeamSystem或更高版本
3.MSDNLibrary
3系统设计
3.1.代码设计
(1)音频、视频模块
1.创建播放器对话框
右击Dialog,点击插入,在弹出的对话框中点击Dialog,再点击新建。
双击新建的得对话框的ID,弹出新建的对话框,删除里面所有的控件。
右击,建立类向导,此时弹出Addingaclass对话框,点击ok,输入name为player,点击确定后退出。
再在对话框中右击,选择插入ActiveX控件,选择Windows
MediaPlayer,之后在对话框中可以看到一个视频控件。
右击,选择属性,在控制中将选择模式改为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)
{playname=pname;
num1=n;
num2=m;
ntype=t;
}
将前台所选择播放的信息通过函数传递给播放器对话框中
在对话框中放上以下几个控件。
控件
ID
标题
PushButton
ID_bofang
播放
ID_zanting
暂停
ID_tingzhi
停止
ID_qianjing
前进
ID_houtui
后退
ID_shangyiqu
上一曲
ID_xiayiqu
下一曲
ID_yinjia
+
ID_yinjiang
-
ID_jingyin
静音
ID_quanping
全屏
GroupBox
IDC_static
播放模式
Group
Box
IDC_yinliangkongzhi
音量控制
Radio
Button
IDC_XUNHUAN
循环
IDC_shunxu
顺序
IDC_suiji
随机
Text
时间进度
ID_time
Static
IDC_volume
滑块
IDC_SLIDER1
控件排列如下
并建立如下三个变量
添加全局变量inthour,minute,second;
右击对话框,建立类向导,在Messages中选择WM_INITDIALOG,点击ADDFunction,再点击EditCode在BOOLplayer:
OnInitDialog()函数中写入
hour=0;
minute=0;
second=0;
UpdateData(true);
m_time.Format("
%d:
%d"
hour,minute,second);
UpdateData(false);
让时间进度一开始为0;
同样的方法添加成员函数voidplayer:
OnTimer(UINTnIDEvent)
让时间进度能随着播放的音视频的进度而走。
添加成员函数
voidplayer:
OnDestroy()
{
KillTimer(0);
CDialog:
OnDestroy();
//TODO:
Addyourmessagehandlercodehere
}在退出播放器对话框时,让计数器停止。
添加全局变量BOOLqian=false;
若qian为true时,表示点击了前进或后退,此时点击播放