音乐播放器实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多媒体技术基础课程大作业
题目名称:基于MFC的音乐播放器系名称:
学生姓名:
学号:
专业班级:
2015 年 6 月
一、实验内容与原理
(1)实验内容
我们需要制作一个音乐播放器,具有一般播放音乐文件如*.mp3的功能,还有具有播放、暂停、停止、上一首、下一首、添加音乐、删除音乐等功能。需要解决的问题是设计音乐播放器的基本界面,向对话框中添加音乐播放的控件,以及各按键功能的实现。
本次我做的音乐播放器,包含如下功能:播放、暂停、停止、上一首、下一首、添加音乐、删除音乐、音量调节、播放模式(单曲播放、单曲循环、全部播放、全部循环)功能,在音乐播放器的界面上,为了美观,我设置了透明度,并且修改了播放器的图标。具体界面如下图:
(2)原理
基于MFC对话窗口,使用MCI控件,灵活使用MCI功能函数,编写该音乐播放器。二、开发平台
该音乐播放器的制作在Visual Studio 2010平台下开发,操作系统:Windows 8.1 。
硬件环境:
处理器:Intel(R)Core(TM)******************* 2.70GHz
内存:8.00GB
系统类型:64位操作系统
三、完成功能
void CmyplayerDlg::OnBnClickedplay()//播放
void CmyplayerDlg::OnBnClickedpause()//暂停
void CmyplayerDlg::OnBnClickedopen()//打开音乐文件
void CmyplayerDlg::OnBnClickeddelete()//删除音乐文件
void CmyplayerDlg::OnBnClickedstop()//停止
void CmyplayerDlg::OnBnClickedback()//上一首
void CmyplayerDlg::OnBnClickednext()//下一首
void CmyplayerDlg::OnBnClickedmode()//播放模式
void CmyplayerDlg::OnNMCustomdrawSlider1(NMHDR *pNMHDR, LRESULT *pResult) //调节音量大小
图:系统流程图
1
四、运行效果
1、打开初始程序:
2、点击“打开音乐”,添加播放资源。
图四;音乐库
3、单击“播放”,开始播放。点击“暂停”,暂停播放。“暂停”按钮变为“继续播放”。点击“继续播放”按钮,继续播放。
2
图五;播放
4、单击“停止”,音乐播放停止,之后单击“播放”,重头开始播放。
3
5、单击“下一首”。播放歌曲变为第二首歌曲。
6、单击“上一首”按钮,歌曲变为第一首歌曲。
4
7、拖动底下音量条,调节音量。
8、单击“删除音乐”按钮,第二首歌曲消失,只剩第一首歌曲。
5
9.单击“单曲播放”,播放模式变为“单曲循环”,再点击,变为“全部播放”,再次点击,变为“全部循环”,再点击,变为初始模式“单曲播放”。
6
7
六、难点情况及解决情况
问题1:对MCI控件了解不足,不清楚要包含的头文件及附加依赖项。如:Winmm.lib、
解决情况:通过网络搜索及查阅教科书等,了解了MCI的基本知识,添加了Winmm.lib 依赖项,添加了
问题2:开始写播放、暂停等按钮功能时,因不曾使用过MCI功能函数,一开始无从下手。
解决情况:通过网络找到了MCI功能函数的文档,一边学习一边使用,成功完成了播放、暂停、停止等全部按钮的功能
问题3:不知如何美化界面,设计的排版很一般,缺少新意,界面看起来很单调。
解决情况:通过查询相关资料和代码,学习了如何使用透明度,将界面设置的更透明,也修改了窗口的图标,希望能改善单调的界面使其有所不同。
七、实验体会
本次实验设计在一边学习一边探索中,终于完成了。仔细回想起实验设计,发现在软件设计的功能上,我做的虽没有特别新的功能,但做出的功能都比较实用,做出了一个音乐播放器所必备的元素:播放、暂停、停止、上一首、下一首、调节音量等等,在这一点上还是比较成功的。当然,这个播放器也有许多的不足之处,如播放器的功能太少,太过于简单,缺少音乐播放时间的显示等;播放器的界面太单调,排版不足、缺乏美观。当然,这些地方都需要改进。虽然本次实验设计做的不是很完美,但我从中获得了很多经验,学习到了如何使用MFC对话窗口、学习到了如何使用MCI控件、学习到了MCI很多的功能函数,下次再做类似的的设计时更能节省时间且能做的更好。从本次实验设计中,我学到了很多东西,如在计算机编程设计中,我们经常会遇到新的知识新的模式,不懂的时候,我们要充分利用网络上的资源,查找文档,学习各计算机前辈的总结,计算机编程,就是在一边学习一边使用,在学习中成长;并且我们要经常性编写一些程序,这样编写程序时才能很灵活、熟练,遇到问题或者BUG也能迅速的判断错误并找到解决方法。
8