(设计标题)
多媒体播放器
用户签名:
开发成员:
开发时间:
孟凡林
2010—12-23
第
页
目录
0 引言.................................................................................................. 4
1 工作计划..........................................................................................4
1.1 主要工作阶段划分..................................................................... 4
1.2 工作任务分工.............................................................................4
2 需求分析...........................................................................................4
2.1 概述............................................................................................ 4
2.2 用户分析.....................................................................................5
2.3 约束条件....................................................................................5
2.4 功能需求.....................................................................................5
2.5 用户界面需求.............................................................................5
3 设计与实现.......................................................................................5
3.1 概述............................................................................................ 5
3.2 详细设计.....................................................................................6
3.1.1 类的抽象及设计...................................................................... 6
3.3 主要程序文件............................................................................6
3.4 开发环境以及部署环境要求......................................................7
3.5 主要源码....................................................................................7
第
页
4 测试................................................................................................11
4.1 概述...........................................................................................11
4.2 测试环境..................................................................................11
4.3 测试计划...................................................................................11
4.4 测试项目及结果....................................................................... 11
5、工作总结......................................................................................12
5.1 工作成果...................................................................................12
5.2 过程分析...................................................................................13
5.3 经验教训及其分析................................................................... 13
第
页
0 引言
现在人们娱乐的方式多种多样,已经有了很明显的变化,以前的户外运动现在已经在锐减,
换而之的是网络游戏与网上聊天,而在同时听听音乐看看电影也成为了巨大的需求,所以很
多多媒体播放软件出现了,形形色色各种都有,而我也赶下时髦,体验一下编写的过程,现
在才发现这并不难,重要的是插件的插入,而其他的功能实现只需调用相应函数就行了!
1 工作计划
1.1 主要工作阶段划分
12 月 20—21
12 月 22—23
12 月 24 日
12 月 26
搜索相关资料,学习基础知识,大致设计框架
考虑所用到的数据结构,函数及其作用,做较为细致的分析
设计开始,仔细设计!
写报告
(用表格或图表的形式列出你们小组各个阶段的时间进度大致安排)
1.2 工作任务分工
阶段名称
任务名称
任务描述
1234
全部
编写软件
负责人
孟凡林
协助人
孟凡林
2 需求分析
2.1 概述
1)到网上或图书馆查找相关系统函数实现相应的功能;
2)使用 MFC 构建相应的用户界面
第
页
2.2 用户分析
1)要求有稳定的性能,可实现要求的功能;
2)拥有较好的界面,很方便人操作!
2.3 约束条件
(作为开发人员的,通常你的小组的工作时间和人员是一个明显约束;另外站在用户的角度,
他们对你有什么约束要求,请从这两个角度进行陈述。)
2.4 功能需求
能够打开文件放进播放列表,点击播放键使其播放,暂停键暂停,停止键停止,重播键重新
播放,全屏键全屏播放,退出键退出程序,增大键增大音量,减小键减小音量!
2.5 用户界面需求
3 设计与实现
3.1 概述
使用 MFC 构建相应的用户界面,实现相应的功能----------能够打开文件放进播放列表,点击
播放键使其播放,暂停键暂停,停止键停止,重播键重新播放,全屏键全屏播放,退出键退
第
页
出程序,增大键增大音量,减小键减小音量,然后向其中加入各个函数实现相应的功能!
3.2 详细设计
3.1.1 类的抽象及设计
1)控件 active movie3 类,主要用来播放各种类型的文件,其封装的各种成员函数使其成为
MFC 设计播放器必不可少的控件类;
2)对话框基类 cDlg 类,及其派生类:
(a)控件 repeatbtn 类,作为播放器打开文件的消息响应媒介,能够做到被点击时再次播
放打开的文件;
(b)控件 copenbtn 类,作为播放器打开文件的消息响应媒介,能够做到被点击时提供资源
管理器供用户选择文件;
(c)控件 playbtn 类,作为播放器打开文件的消息响应媒介,能够做到被点击时播放打开
的文件;
(d)控件 pausebtn 类,作为播放器打开文件的消息响应媒介,能够做到被点击时暂停播放
打开的文件;
(e)控件 lowerbtn 类,作为播放器打开文件的消息响应媒介,能够做到被点击时减小播放
音量;
(f)控件 upperbtn 类,作为播放器打开文件的消息响应媒介,能够做到被点击时增大播放
音量
(g)控件 stopbtn 类,作为播放器打开文件的消息响应媒介,能够做到被点击时停止播放
打开的文件;
(h)控件 fullscreen 类,作为播放器打开文件的消息响应媒介,能够做到被点击时全屏播放打
开的文件;
至于其他的,当我们使用 MFC 编程时,会有很多封装的类供我们使用,所以就不一一列举
了!
3.3 主要程序文件
1)头文件(为类加入相应的标准流,库):
Activemovie3.h-------控件;
stdafx.h-----框架构成;
多媒体.h-----多媒体的应用;
多媒体 Dlg.h------对话框;
resourse.h-----为多媒体.rc 服务!
2)源文件(完成各种类的定义与实现):
Activemovie3.cpp-------控件;
stdafx.cpp-----框架构成;
多媒体.cpp----多媒体的应用;
第
页
多媒体 Dlg.cpp------对话框;
多媒体.rc-----运行过的效果!
3.4 开发环境以及部署环境要求
1)
Vs2010;
2)
3.5 主要源码
1)打开文件
void CMyDlg::OnOpenButton()
{
// TODO: Add your control notification handler code here
CString
strFilter
=
"Mp3
File(*.mp3)|*.mp3| ";
strFilter
strFilter
strFilter
strFilter
+=
+=
+=
+=
现参数不正确
"MPEG
File(*.mpg;*.mpeg)|*.mpg;*.mpeg| ";
"Wave
File(*.wav)|*.wav| ";
"AVI
"All
File(*.avi)|*.avi| ";
File(*.*)|*.*| "; //过滤适当的文件必须以0区分,以00结束,否则会出
CFileDialog
dlgOpen(TRUE,NULL,NULL,OFN_PATHMUSTEXIST
|
OFN_HIDEREADONLY
|
OFN_ALLOWMULTISELECT,strFilter,this);//为CFileDialog定义对象
DWORD
MAXFILE
=
2412; // 分配足够空间
dlgOpen.m_ofn.nMaxFile
=
MAXFILE; // 设置buffer的大小
CString
strFileName;
char*
buf
=
new
char[MAXFILE]; //分配空间
dlgOpen.m_ofn.lpstrFile
=
buf;
dlgOpen.m_ofn.lpstrFile[0]
=
NULL; //赋值
if(IDOK
==
dlgOpen.DoModal())
{
POSITION
pos
=
dlgOpen.GetStartPosition();
while
(pos
!=
NULL)
{
strFileName
=
dlgOpen.GetNextPathName(pos);
// 获取独立文件名
m_list1.InsertString(m_list1.GetCount(),strFileName);//加至播放列表
}
第
页
}
delete
[]
buf; //释放空间
}
2)播放文件
void CMyDlg::OnPlayButton()
{
// TODO: Add your control notification handler code here
m_ActiveMovie.Run();//播放文件
SetTimer(0,20,NULL);//设置定时器
}
3)暂停播放
void CMyDlg::OnPauseButton()
// TODO: Add your control notification handler code here
m_ActiveMovie.Pause();
{
}
4.停止播放
void CMyDlg::OnStopButton()
{
// TODO: Add your control notification handler code here
m_ActiveMovie.Stop();//停止播放文件
KillTimer(0);//关掉定时器
}
5.重复播放
void CMyDlg::OnReapetButton()
{
// TODO: Add your control notification handler code here
if(!isRepeat)
{
isRepeat=TRUE;
SetDlgItemText(IDC_STATIC2,"Status:Repeat");
}
else{
isRepeat=FALSE;
SetDlgItemText(IDC_STATIC2,"Status:Normal");
第
页