vc++课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xxxx
信息科学与工程学院
课程设计
题目:Windows Media Player控件实现多媒体程序
姓名: xxxx 学号: xxxx
班级:
课程: Visual C++可视化程序设计
任课教师 xxxx
2014年6月20日
课程设计任务书及成绩评定
目录
1.课程设计目的及要求 (1)
1.1设计目的 (1)
1.2设计要求 (1)
2.课程设计实现 (1)
2.1新建一个MFC应用程序 (1)
2.2添加相应的控件 (2)
2.3 添加类 (3)
2.4添加相关变量 (4)
2.5添加事件 (5)
3.运行结果 (5)
4.课程设计总结 (7)
5.参考文献 (7)
1.课程设计目的及要求
1.1设计目的
课程设计是一项重要的实践性教学环节,在教师的指导下,以学生为中心,充分调动学生的积极性和能动性,重视学生自学能力的培养。
能够熟练掌握MFC中的各个控件,消息的处理与添加,并且能够具体实现一些功能,真正可以利用功能比较强大的MFC编译出较好的程序代码。
1.2设计要求
编写应用程序,使得用户可以分别选择视频和音频文件来播放或则分别播放。
总体设计:包括程序设计组成框图、流程图。
详细设计:包括模块功能说明:函数功能、入口及出口参数说明,函数调用关系描述等。
调试与测试:包括调试方法,测试结果分析与讨论,测试过程中遇到的主要问题及采取的解决措施。
源程序清单和执行结果:清单中应有足够的注释。
2.课程设计实现
2.1新建一个MFC应用程序
首先使用应用程序向导建立一个基于对话框的应用程序,项目名称PlayMedia。
2.2添加相应的控件
在资源视图中使对话框处于编辑状态下,单击鼠标右键,从快捷菜单中选择“插入ActiveX控件”,从弹出的对话框的列表中选择Windows Media Play,如
图1所示。调整对话框中的ActiveX控件的大小和位置如图2所示。
图1
图2
2.3 添加类
接下来要在应用程序中加入支持播放视频/音频的类。从“项目”|“添加类”|“ActiveX控件中的MFC类”,单击“添加”按钮,出现图3所示的对话框。添加类的来源选择“文件”,文件的绝对位置是c:\windows\system32\wmp.dll。紧接着“接口”列表中的CWMPPlayer4添加到“生成的类”的列表框中,单击“完成”。
图3
2.4添加相关变量
接下来在PalyMediaDlg.h文件的头部加入
#include “CWMPPlayer4.h”
回到资源视图中的对话框的编辑状态下,从添加的Windows Media Play的控件的快捷菜单中添加变量m_mediaPlay,操作如图所示。
2.5添加事件
为Windows Media Play控件添加一个鼠标双击事件处理程序,当程序运行时,在双击Windows Media Play控件时,出现一个选择视频/音频文件的文件对话框,选择正确格式的文件时,Windows Media Play就会播放文件。鼠标双击事件的代码如下:
void CPlayMediaDlg::DoubleClickOcx1(short nButton, short nShiftState, long fX, long fY)
{
// TODO: 在此处添加消息处理程序代码
CFileDialog dlg(TRUE,NULL,L"*.*",OFN_FILEMUSTEXIST,
L"ActiveStreamingFormat(*.asf)|*.asf|"
L"AudioVideoInterleaveFormat(*.avi)|*.avi|"
L"RealAudio/RealVideo(*.rm)|*.rm|"
L"WaveAudio(*.wav)|*.wav|"
L"MIDIFile(*.mid)|*.mid|"
L"所有文件(*.*)|*.*||");
if(dlg.DoModal()==IDOK)
{
m_mediaPlay.put_URL(dlg.GetPathName());
}
}
3.运行结果
编辑运行程序后,双击Windows Media Play控件选择文件后,界面如图所示。
视频播放
音频播放
4.课程设计总结
本次Windows Media Play控件程序的设计,学习到了MFC基本的编程方法,增加了自己独立制作程序的能力。对MFC编程的理解进一步加深。经过两个多星期的仔细研究,认真揣摩代码,在网上也查阅了不少相关资料,终于能够完整的编译出一套简单的MFC程序。当然其中也遇到了许多问题,而且在编写代码时有一些小错误,有些变量因为敲代码得太快而导致字母颠倒,经过一番细心查找解决了错误。总而言之,本次课程设计让我受益匪浅。
5.参考文献
1.张荣梅.梁晓林.Visual C++实用教程.冶金工业出版社.2004
2.郑阿奇. Visual C++ 实用教程(第2版).电子工业出版社.2003
3.魏亮.李春葆编著.Visual C++程序设计例学与实践.清华大学出版社.2006
4.陈清华等.Visual C++课程设计案例精选与编程指导.东南大学出版社.2004
5.黄维通.贾续涵.Visual C++面向对象与可视化程序设计.清华大学出版社