vc++课程设计报告.docx

上传人:b****2 文档编号:2182008 上传时间:2022-10-27 格式:DOCX 页数:23 大小:23.29KB
下载 相关 举报
vc++课程设计报告.docx_第1页
第1页 / 共23页
vc++课程设计报告.docx_第2页
第2页 / 共23页
vc++课程设计报告.docx_第3页
第3页 / 共23页
vc++课程设计报告.docx_第4页
第4页 / 共23页
vc++课程设计报告.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

vc++课程设计报告.docx

《vc++课程设计报告.docx》由会员分享,可在线阅读,更多相关《vc++课程设计报告.docx(23页珍藏版)》请在冰豆网上搜索。

vc++课程设计报告.docx

vc++课程设计报告

福建工程学院

VC++课程设计

课题:

音频播放器

班级:

通信1202

学号:

3120210114

姓名:

陈李萍

同组组员:

林志滨林剑花陈李萍

熊建朱炜明周士炜马率杰

指导老师:

黄旭红林挺钊陈健

日期:

2013/11/25—11/29

一、设计目的与要求3

二、准备工作3

三、系统分析及实现步骤3

3.1、系统实现的方法..................................................................................................3

3.2、程序设计的总框图………………………………………………………..........4

3.3、项目的具体设计方案(设计原理与流程图等)…………………………………4

3.4扩展部分(根据实际情况而定,如果没有扩展部分,则不写)9

3.5类声明与核心算法程序代码……………………………………...……………12

四、测试与结论20

五、课程设计总结24

六、参考文献25

七、附录25

一、设计的目的与要求

多媒体技术的发展使得计算机应用范围更加广泛,目前各类多媒体播放软件层出不穷。

试开发一个简易的音频播放器,求如下:

1、菜单式的人机界面。

2、具有打开、播放、停止、暂停、定时播放的功能。

3、可控制音量、左右声道、静音。

4、具有显示音频波形的特效。

二、准备工作

在开始做课程设计项目前应:

1、应回顾或复习C++专业课所学习的内容,及课外编程实例

2、需要一台PC机

3、安装VisualC++6.0集成开发环境软件

4、项目主要用到的函数

OnAdd()

添加功能

StoreList()、ReadList()

播放列表功能

OnClear()

清空播放列表功能

OnPlayOrPause()

播放/暂停功能

SetVolumee、Oninvolume()、Ondevolume()

音量功能

BOOLLineTo()MoveToEx()

波形显示

GetDlgItem()

Getwindowtext()

SetWindowText()

定时播放功能

三、系统分析与项目的实现步骤

3.1、系统实现的方法:

MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFCAppWizard向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。

每个MFC类都包括了一些函数,函数放到类中,符合C++编程方法。

这些函数,必须通过类定义对象才能使用。

在本次设计中,首先,理清课程设计和编写程序的思路,明确程序中所要用到的函数,并做好了解。

然后,再利用C++类的继承与派生原理来构造所需要的类,编写实现每项功能的详细代码。

利用MFC提供的菜单资源来创建菜单,通过类向导建立类,函数,或者消息响应,来实现播放器的各种功能。

采用不同的Windows提供的坐标系统和对话框资源,并利用设备环境来绘制和更新图形,使播放器的界面更加美观,实现较好的人机交互界面。

画出系统模块功能图:

添加音乐及视频

开始

播放

停止

播放结束

退出

暂停

设计原理:

MP3播放器主要对常用Windows音频格式的文件实现播控制:

播放歌曲、暂停播放、停止播放等;实现音量控制:

静音、声音放大以及声音减小的功能。

此播放器编写的时候,利用的是MFC单文档程序的构成框架,然后再利用Windows提供的资源,运用控件,自己制作对话框和人机交互界面。

在制作界面的同时,也制作各个按钮,并完成各个按钮的消息响应,便完成响应函数,实现了功能。

MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFCAppWizard向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。

每个MFC类都包括了一些函数,函数放到类中,符合C++编程方法。

这些函数,必须通过类定义对象才能使用。

在本次设计中,首先,理清课程设计和编写程序的思路,明确程序所要用到的函数,并做好了解。

然后,再利用C++类的继承与派生原理来构造所需要的类,编写实现每项功能的详细代码。

利用MFC提供的菜单资源来创建菜单,通过类向导建立类,函数,或者消息响应,来实现播放器的各种功能。

1、人机界面设计

播放器界面设计打开VCC++6.0新建一个工程,选择对话框。

便生成了一个

窗口。

然后打开ResouceView,点开Dialog,插入Dialog,利用控件,绘制各

按钮。

如图所示:

2、添加mediaplayer控件如图所示:

3、各按钮功能的实现

(1)处理“添加文件”按钮单击“添加文件”按钮后,在Onopen()函数中,首先对文件类型进行过滤,调用OpenFiles()函数打开对话框选择一个音频文件,通过InitPath()函数获取文件路径,通过InitPath()函数获取文件名后,调用SaveList()函数在StaticText控件上显示你所选择的歌曲文件名,然后再单击播放按钮,便可以播放歌曲。

1.简单声音录制与播放

vmf库中提供了一组录制声音的函数,通过MCIWndCanRecord函数可以判断系统能否录制声音,通过函数MCIWndRecord可以进行声音录制。

如果要播放录制的声音可以使用MCIWndPlay函数。

界面设计如下:

2.视频播放

运用Windowsmediaplayer控件可以支持播放多种格式的音乐和视频,Windowsmediaplayer控件不是系统默认控件,所以需要向该工程中添加该控件,视频播放展示:

1.类与函数层次介绍

CMP3_1Dlg

Play

SetVolumn

Stop

Load

Pause

图7-1-a类与函数层次关系图

Pause:

暂态正在播放的音乐

Play:

控制音乐播放

Stop:

停止播放音乐

Load:

加载播放的音乐

RetVolumn:

设置音乐播放音量

2.核心代码功能介绍

BOOLCMP3_1Dlg:

:

OnInitDialog()//系统参数初始化函数

{

CDialog:

:

OnInitDialog();

.............

.............

SetWindowPos(NULL,0,0,480,340,SWP_NOMOVE);//界面无相对移动

m_channel.SetRange(0,200);//设置左右声道滑块范围

m_channel.SetPos(100);//设置左右声道滑块初始范围

//TODO:

Addextrainitializationhere

for(inti=0;i<24;i++)//定时器设置时

{

CStringtemp;

temp.Format("%02d",i);

m_hour.AddString(temp);

}

for(intp=0;p<60;p++)//定时器设置分

{

CStringtemp;

temp.Format("%02d",p);

m_minu.AddString(temp);

}

returnTRUE;//returnTRUEunlessyousetthefocustoacontrol

}

voidCMP3_1Dlg:

:

OnOpen()//添加文件到播放列表函数

{

//TODO:

Addyourcontrolnotificationhandlercodehere

charszFileFilter[]="Mp3File(*.mp3)|*.mp3|"

"WmaFile(*.wma)|*.wma|"

"VideoFile(*.dat)|*.dat|"

"WaveFile(*.wav)|*.wav|"

"AVIFile(*.avi)|*.avi|"

"MovieFile(*.mov)|*.mov|"

"MediaFile(*.mmm)|*.mmm|"

"MidFile(*.mid;*,rmi)|*.mid;*.rmi|"

"MPEGFile(*.mpeg)|*.mpeg|"

"FlvFile(*.flv)|*.flv|"

"WMVFile(*.wmv)|*.wmv|"

"AllFile(*.*)|*.*||";//文件类型过滤

CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);

if(dlg.DoModal()==IDOK)

{

PathName=dlg.GetPathName();

GetDlgItem(IDC_PLAYLIST)->SetWindowText(PathName);

PathName.MakeUpper();

}

}

voidCMP3_1Dlg:

:

OnAdd()//定时器文件添加函数

{

//TODO:

Addyourcontrolnotificationhandlercodehere

charszFileFilter[]="Mp3File(*.mp3)|*.mp3|"

"WmaFile(*.wma)|*.wma|"

"VideoFile(*.dat)|*.dat|"

"WaveFile(*.wav)|*.wav|"

"AVIFile(*.avi)|*.avi|"

"MovieFile(*.mov)|*.mov|"

"MediaFile(*.mmm)|*.mmm|"

"MidFile(*.mid;*,rmi)|*.mid;*.rmi|"

"MPEGFile(*.mpeg)|*.mpeg|"

"FlvFile(*.flv)|*.flv|"

"WMVFile(*.wmv)|*.wmv|"

"AllFile(*.*)|*.*||";//文件类型过滤

CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);

//CFileDialoglog(TRUE,"文件","*.wav",OFN_HIDEREADONLY,"声音文件(*.wav)|*.wav||",NULL);

if(dlg.DoModal()==IDOK)

{

pathname=dlg.GetPathName();

GetDlgItem(IDC_EDWAVFILE)->SetWindowText(pathname);

pathname.MakeUpper();

}

}

voidCMP3_1Dlg:

:

OnSet()//定时播放歌曲设定函数

{

//TODO:

Addyourcontrolnotificationhandlercodehere

//**********

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

当前位置:首页 > 求职职场 > 简历

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

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