****大学
VC++程序设计报告
项目名称:基于MFC的多媒体音频播放器设计
学 院:信息科学技术
制 作 人:
指导教师:
2011年12月22日
基于MFC的多媒体音频播放器设计
摘要
虽然这学期是第一次接触VC,但因为以前有过对C语言的学习,在以前的基础上,在老师教导下,通过这一个学期的知识积累和上机实验,我对基本的控件,图形图像,窗口和对话框都有了较为系统的了解。而这次课设任务中选做的实验,体现了以前所学知识的运用,是真正地把控件,图形图像,窗口和对话框等知识点结合起来的日常应用程序--MP3播放器。
当然通过这次课设,我对本学期所学的知识再次得到充分巩固,知识在实际运用中得以充分地转化一种基本动手能力,让我能够更进一步地学习VisualC++6.0的知识,结果是我可以理解一些常见的大型程序以及自己动手创作出相应而基本的程序,而课设实验的成功完成无疑为今后学习VC++编程培养了浓厚的兴趣,也为今后要从事的编程工作奠定了坚实的基础。
关键词: VC++6.0、MFC、播放器、MP3、WMA
MFC-based Design Of Multimedia Audio Player
ABSTRACT
Although this semester is the first contact with the VC, but because in the past have had to learn the C language, in the past, based on the teacher teaches, through which a term accumulation of knowledge and hands-on experiments, I have the basic controls, graphics images, windows and dialog boxes have a more systematic understanding. The task of selecting the class set up to do the experiment, reflecting the use of previous knowledge, is really the controls, graphics, windows and dialog boxes combining the knowledge of the daily point of application - MP3 player.
Course set by the class, I learned this semester once again be fully consolidated in the practical application of knowledge to be fully transformed into a basic ability, so I can learn VisualC + +6.0 to further the knowledge, the result is I can understand some of the common large-scale program and yourself to create the appropriate and essential procedures, and course set up the experiment successful completion of doubt for future learning VC + + programming to develop a strong interest, but also for the future to engage in the programming work has laid a solid basis.
Keywords: VC + +6.0, MFC, player, MP3, WMA
1.1 MFC简介 - 5 -
1.2 MCI简介 - 5 -
2 总体设计 - 6 -
2.1 实现功能 - 6 -
3、详细设计 - 6 -
3.1 界面布局设计 - 6 -
3.2 各模块功能设计 - 7 -
3.2.1 处理"播放"按钮 - 7 -
3.2.3 处理"暂停"按钮 - 8 -
3.2.4 处理"停止"按钮 - 8 -
3.2.5 对话框初始化 - 8 -
3.2.6关联文件夹 - 9 -
3.2.7关联文件 - 12 -
4、总结 - 12 -
参考文献 - 13 -
1.1 MFC简介
MFC是Visual C++是核心。MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFC AppWizard向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。每个MFC类都包括了一些函数,函数放到类中,符合C++编程方法。这些函数,必须通过类定义对象才能使用[1]。
1.2 MCI简介
MCI(Media Control Interface)媒体控制接口是MircroSoft提供的一组多媒体设备和文件的标准接口,它的好处是可以方便地控制绝大多数多媒体设备包括音频、视频、影碟、录像等多媒体设备,而不需要知道它们的内部工作状况。它所支持的媒体格式包括avi、wav、mpeg等等[2]。
音频技术发展较早,几年前一些技术已经成熟并产品化,音频技术主要包括四个方面:音频数字化、语音处理、语音合成及语音识别。
音频文件包括多种格式的文件,MP3就是其中的一种。MP3的全称是Moving Picture Experts Group,Audio Layer Ⅲ,它所使用的技术是在VCD(MPEG-1)的音频压缩技术上发展出的第三代,而不是MPEG-3。MP3是一种音频压缩的国际技术标准,它一般需要MP3播放器来读取。
2 总体设计
2.1 实现功能
MP3播放器主要对常用Windows音频格式的文件实现播放控制:播放、暂停、停止、打开目录、打开文件等操作。 整体布局如下:
3、详细设计
3.1 界面布局设计
(1) 创建一个对话框类,类名为media player。
(2) 向对话框中添加Group Box控件、Static Text控件以及按钮控件。
(3) 设置所添加的控件的属性。
系统界面的运行结果图如图3-1所示。
图3-1 系统界面运行结果图
Media Player对话框中所用控件的属性描述如表3-1所示。
表3-1 对话框控件ID及其描述
控件ID 描述 IDC_BUTTON_tianjiawenjian 按钮控件,添加文件 IDC_BUTTON_jianjiawenjianjia 按钮控件,添加文件夹 IDC_BUTTON_OK 按钮控件,播放 IDC_BUTTON_zanting 按钮控件,单击它用来暂停歌曲 IDC_BUTTON_tingzhi 按钮控件,单击它用来停止歌曲 IDC_BUTTON_guanyu 关于,版权信息 3.2 各模块功能设计
3.2.1 处理"播放"按钮:
void CPlaymusicDlg::OnOK()
{
TCHAR cmd_stop[MAX_PATH];
wsprintf(cmd_stop,"stop %s",shortpathfilename); //停止上一个
mciSendString(cmd_stop,"",NULL,NULL);
int index = m_Songs.GetSelectionMark(); //获取标号
if (index != -1)
{
CString data = m_Songs.GetItemText(index,0); //歌曲路径
shortpathfilename=data; //保存路径
TCHAR cmd[MAX_PATH+10];
wsprintf(cmd,"play %s",data);
mciSendString(cmd,"",NULL,NULL);
}
}
3.2.3 处理"暂停"按钮:
void CPlaymusicDlg::OnBUTTONzanting() //暂停
{
mciSendString("pause "+shortpathfilename,0,0,0);
}
3.2.4 处理"停止"按钮
void CPlaymusicDlg::OnBUTTONtingzhi() //停止
{
mciSendString("stop "+shortpathfilename,0,0,0);
}
3.2.5 对话框初始化
BOOL CPlaymusicDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAbout
上一篇:
基于MFC的多媒体播放器制作论文
下一篇:
超市进销存管理系统的开发