可视化课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

关键字 (2)

引言 (3)

需求分析 (3)

设计思路 (4)

基本功能说明与介绍 (4)

播放功能 (4)

视图功能 (4)

帮助功能 (5)

源程序代码及说明 (5)

文件打开 (5)

文件关闭 (6)

退出播放器 (7)

循环播放 (7)

调试及运行结果 (8)

遇到的问题及解决方法 (10)

关于MCI与WMP的选择 (10)

关于循环播放 (11)

快进快退功能 (11)

声音调整 (11)

其他问题 (11)

设计体会心得 (12)

参考文献 (13)

在VC ++ 6. 0 平台上利用Windows Media Player 控件实现了在程序中播放一段视频和音频的功能。但是由于限定于控件导致界面改良不大。优点也很明显,可以播放大多数视频音频文件,可以完成很多基本操作,以及用时少。

关键字

MFC; 控件; 消息; WMP

MFC (Microsoft Foundation Class ) 是用来编写Windows 应用程序的C ++ 类集,其中封装了大部分Windows API 函数和Windows 控件,使用MFC 类库和Visual C ++ 提供的高度可视的应用程序开发工具, 可使应用程序开发变得简单,提高代码的可靠性和可重用性。随着多媒体性能的极大提升,程序中经常要播放一段视频或者一段音频,如果能够简单地插入音频和视频,将极大缩短程序的开发时。本文基于MFC 在Visual C ++ 环境下利用Windows Media Player 控件实现了音频视频文件的播放。

需求分析

多媒体播放器系统实现

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

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

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

4.实现其它附加功能

5.界面良好,功能完善

设计思路

开始时准备用MCI函数来实现播放器的功能,后来在调节音量和快进快退方面遇到了很大的麻烦,于是改用Windows Media Player控件来实现。

可是用控件几乎绝大部分的代码都自动生成了,于是自己设计了一些菜单来从另一方面实现其功能。

基本功能说明与介绍

播放功能

包括打开文件,播放,暂停,停止,快进快退以及调节音量(最终未实现)等功能,这些可以通过WMP的控件界面实现。

其中一些也能在菜单里实现,比如播放停止,都是运用WMPPlayer4里的函数实现的。

由于使用了WMP控件,所以主流的很多视频都能播放,如MP3,WMA,AVI等文件。

视图功能

可以通过菜单里的全屏按钮实现全屏播放。通过简单的全屏函数实现。其实自己也想实现类似迷你模式的功能,但由于时间所限,而且觉得该功能不是特别需要,就放弃了。

帮助功能

借助自动生成的CAboutDlg类实现一个弹出对话框,有一些播放器的信息与个人信息。

源程序代码及说明

文件打开

void CPlayerDlg::OnOpen() //打开文件

{

// TODO: Add your command handler code here

charszFile[]="All Files(*.*)|*.*|"

"Wma File(*.wma)|*.wma|"

"Video File(*.dat)|*.dat|"

"Wave File(*.wav)|*.wav|"

"AVI File(*.avi)|*.avi|"

"Movie File(*.mov)|*.mov|"

"Media File(*.mmm)|*.mmm|"

"Mid File(*.mid.*,rmi)|*.mid.*.rmi|"

"MPEG File(*.mpeg)|*.mpeg|"

"Mp3 File(*.mp3)|*.mp3||"; //支持的格式

CFileDialogdlg(true,NULL,NULL,OFN_HIDEREADONLY,szFile);

if(dlg.DoModal()==IDOK)

{

PathName=dlg.GetPathName();

m_play.SetUrl(PathName);

} //获取文件名并打开}

文件关闭

void CPlayerDlg::OnClose() //关闭正在播放的文件

{

// TODO: Add your command handler code here

m_play.close();

}

退出播放器

void CPlayerDlg::OnExit() //退出程序

{

// TODO: Add your command handler code here OnClose();

CDialog::OnOK();

}

循环播放

循环播放未实现,此处为重播

void CPlayerDlg::OnReplay() //重播

{

// TODO: Add your command handler code here m_play.SetUrl(PathName);

}

调试及运行结果界面

播放MP3

相关文档
最新文档