VC课程设计多媒体播放器Word文件下载.docx

上传人:b****5 文档编号:8463023 上传时间:2023-05-11 格式:DOCX 页数:16 大小:517.40KB
下载 相关 举报
VC课程设计多媒体播放器Word文件下载.docx_第1页
第1页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第2页
第2页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第3页
第3页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第4页
第4页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第5页
第5页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第6页
第6页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第7页
第7页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第8页
第8页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第9页
第9页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第10页
第10页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第11页
第11页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第12页
第12页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第13页
第13页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第14页
第14页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第15页
第15页 / 共16页
VC课程设计多媒体播放器Word文件下载.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

VC课程设计多媒体播放器Word文件下载.docx

《VC课程设计多媒体播放器Word文件下载.docx》由会员分享,可在线阅读,更多相关《VC课程设计多媒体播放器Word文件下载.docx(16页珍藏版)》请在冰点文库上搜索。

VC课程设计多媒体播放器Word文件下载.docx

3.3文件的停止模块……………………………………….9

3.4全屏模块……………………………………………….9

3.5快进、快退模块……………………………………….9

3.6换皮肤模块……………………………………………10

3.7音量调节模块…………………………………………12

3.8窗口隐藏模块…………………………………………12

3.9文件暂停模块…………………………………………12

4.运行结果……………………………………………….13

5.设计过程中遇到的问题和感想…………………15

6.参考文献…………………………………………16

一、设计题目及要求

1.1设计题目

基于MFC的多媒体播放器系统

1.2题目要求

1.制作一个具有自己设计风格的媒体播放器。

2.要求能随机选取要播放的文件,实现前进,回退,暂停,循环播放,音量大小调节等基本功能。

3.要求能播放多种格式(至少四种或四种以上)的音频视频格式文件。

4.可以实现其它附加功能(不在要求范围之内)

5.界面良好,功能完善

二、基本功能描述

本次课程设计制作的多媒体播放器是利用Windows系统自带的WindowsMediaPlayer控件,可以分别通过按钮和菜单实现*.mp3、*.mid、*.avi、*wav等媒体文件的打开、播放、暂停、全屏、音量调节、快进、快退、关闭、循环播放等功能。

还通过更换位图的方式,实现了换皮肤功能。

1.打开文件:

通过选择文件类型打开不同类型的文件,如果打开的格式不对,消息框会提醒打开正确的格式的文件。

再打开文件前,其他按键不能进行操作。

2.播放文件:

开始播放文件。

3.停止播放:

停止播放文件。

4.全屏:

将播放器变为全屏。

5.快退、快进:

实现快退、快进功能。

6.换皮肤:

选择沙漠、可爱棒冰、灯塔、郁金香可以为播放器换不同的背景。

7.音量调节:

可以实现调大,调小音量的功能。

三、软件设计模块

3.1文件的打开模式

在WavePlayDlg.h中设定一个int型的全局m_MediaType,通过选择不同的按钮来给m_MediaType赋不同的值,不同的值代表不同的文件格式。

打开文件代码:

voidCWavePlayDlg:

:

OnOpen()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

CFileDialogOpenDlg(TRUE);

switch(this->

m_MediaType)

{

case1:

charszFileFilter[]=

{"

Mp3File(*.mp3)|*.mp3|"

"

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

MediaFile(*.asf)|*.asf|"

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

MPGAFile(*.mpga)|*.mpga|"

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

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

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

MidFile(*.mid;

*,rmi)|*.mid;

*.rmi|"

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

AllFile(*.*)|*.*||"

};

CFileDialogfileDialog(TRUE,_T("

wav"

),NULL,NULL,_T("

wav音频文件(*.wav)|*.wav||"

));

//选择wav模式

if(fileDialog.DoModal()==IDOK)

m_filename=fileDialog.GetPathName();

}

break;

}

case2:

{

"

avi"

avi音频文件(*.avi)|*.avi||"

//选择avi模式

case3:

mid"

avi音频文件(*.mid)|*.mid||"

//选择mid模式

case4:

mp3"

mp3音频文件(*.mp3)|*.mp3||"

//选择MP3模式

this->

m_FileName.SetWindowText(m_filename);

m_CloseButton.EnableWindow(true);

this->

m_playbotton.EnableWindow(true);

OnRadio1()//选择不同类型的文件

m_MediaType=1;

OnRadio2()

m_MediaType=2;

OnRadio3()

m_MediaType=3;

OnRadio4()

m_MediaType=4;

3.2文件的播放模块

在.WavePlayDlg.h中添加#include"

wmpcontrols.h"

、#include"

wmpsettings.h"

文件播放代码:

OnPlay()

m_play.SetUrl(m_filename);

m_full.EnableWindow(true);

this->

m_decvolum.EnableWindow(true);

m_addvolum.EnableWindow(true);

m_fast.EnableWindow(true);

m_slow.EnableWindow(true);

3.3文件的停止模块

OnClose()

m_play.close();

3.4全屏模块

Onfullscreen()

m_play.SetFullScreen

(1);

3.5快进、快退模块

Onfast()快进

m_play.GetControls().fastForward();

Onslow()快退

m_play.GetControls().fastReverse();

3.6换皮肤模块

定义一个int型的全局变量m_change,选择不同的按钮会给m_change赋不同的值,在onpaint函数中根据m_change不同的值来设置不同的背景。

换皮肤代码:

Onshamo()

m_change=1;

Invalidate();

Oncaodi()

m_change=2;

Ondengta()

m_change=3;

Onyujinx()

m_change=4;

Invalidate();

OnPaint()

if(this->

m_change==1)//实现换皮肤功能

CPaintDCdc(this);

CBitmapbitmap;

bitmap.LoadBitmap(IDB_BITMAP2);

CBrushbrush;

brush.CreatePatternBrush(&

bitmap);

CBrush*pOldBrush=dc.SelectObject(&

brush);

dc.Rectangle(0,0,800,800);

dc.SelectObject(pOldBrush);

elseif(this->

m_change==2)

bitmap.LoadBitmap(IDB_BITMAP5);

m_change==3)

bitmap.LoadBitmap(IDB_BITMAP4);

m_change==4)

bitmap.LoadBitmap(IDB_BITMAP6);

else

bitmap.LoadBitmap(IDB_BITMAP9);

……

3.7音量调节模块

Ondecvolum()//减小音量

m_play.GetSettings().SetVolume(m_play.GetSettings().GetVolume()-10);

OnAddvolum()//增大音量

m_play.GetSettings().SetVolume(m_play.GetSettings().GetVolume()+10);

3.8窗口隐藏模块

OnClose2()

m_play.CloseWindow();

3.9文件暂停模块

OnPause()

m_play.GetControls().pause();

四、运行结果

播放.MP3文件

播放.avi文件

换皮肤

窗口隐藏

五、设计过程中遇到的问题

最先想基于MMcontrol插件来写这个程序,发现这个插件很难实现播放视频,调节音量等功能,便改用了windowsmediaplayer插件来完成。

在编写程序过程中遇到了不少问题,在实现暂停功能时报错,后来查看相关资料才发现没有加上#include"

头文件。

在给对话框添加背景后发现文本框没有透明化,通过XX查找相关资料才知道要加上一段代码,同时还可以给文本框里的文字改变颜色。

代码如下:

HBRUSHCWavePlayDlg:

OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor)

HBRUSHhbr=CDialog:

OnCtlColor(pDC,pWnd,nCtlColor);

if(nCtlColor==CTLCOLOR_STATIC)

pDC->

SetBkMode(TRANSPARENT);

//设置背景透明

SetTextColor(RGB(0,0,0));

//设置字体颜色

return(HBRUSH):

GetStockObject(NULL_BRUSH);

如果默认的不是所需画笔,则返回另一个画笔

returnhbr;

Returnadifferentbrushifthedefaultisnotdesired

在引入位图时,因为不知道只能引入.bmp类型的图片一直出现错误,后来请教同学才知道了图片应为.bmp类型并且256位以下。

在实现换皮肤的功能时也遇到了问题,不知道要通过什么方式来改变使用的位图,后来想到可以采取和打开不同类型的文件相同的方式来改变选择使用的位图,可是又不知道该使用哪种刷新窗口方式来实现这个功能,最后还是通过XX窗口刷新方法确定使用Invalidate()。

在完成这个作业的过程中,让我对MFC有了更加深刻的了解,通过去图书馆借阅资料及网上查阅资料学到了很多书本以外的东西,也知道了我们学习知识不应该仅仅局限于课本,应该查阅多方面的资料。

任何学习都是应该多实践,只有自己多做才能真的掌握这些知识。

六、参考文献

《Vc++6.0数据库开发实例》人民邮电出版社

《vc++面向对象与可视化程序设计》黄维通

清华大学出版社

本科生课程设计成绩评定表

熊琦

性别

专业、班级

软件1202班

课程设计题目:

课程设计答辩或质疑记录:

成绩评定依据:

最终评定成绩(以优、良、中、及格、不及格评定)

指导教师签字:

2014年6月19日

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2