简易音乐播放器小结_简易音乐播放器报告

2020-02-28 其他工作总结 下载本文

简易音乐播放器小结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“简易音乐播放器报告”。

简易音乐播放器小结 06A13142 李长波

其实我们一开始是想做一个简易视频播放器的,但后来限于目前能力有限,不得不放弃原有计划,将设计改为简易音乐播放器。一开始的视频播放器确实遇到了好多困难,比如说那个视频播放只能全屏播放,我们小组弄了弄了好几天都没弄出来,而且我们还想插一个透明背景的,这个想法是来自于目前许多流行音乐播放器的背景都是透明的,所以我们就想应该把这个特点加到我们的视频播放器中,但这也没做出来,所以后来经过我们内部商量,就将这个计划搁置,而采用了新的计划项目。

从一开始学习c++,我就一直有疑问,黑乎乎的屏幕编程和我们现在所看到的软件到底有什么关系呢?说实话,通过这次编译软件的实战,我才明白了这其中的缘由与机理。Windows 操作系统采用了图形用户界面,借助于它提供的API函数,可以编写出具有漂亮图形用户界面的程序。Windows 本身是面向对象的,因此采用面向对象的程序设计更为自然。Visual C++的微软基础类(MFC)库封装了大部分API函数,并提供了一个应用程序框架,简化和标准化了Windows程序设计,因此MFC编程被称为标准Windows程序设计,也正是利用了MFC才使得程序员能够得心应手的开发基于Windows操作的程序。

回顾这次的编程实践,我的主要分工为几个按钮的设计实现,分别是上一首、开始、下一首、音量控制、播放模式控制、进度控制。

首先,我想先谈一下编程中所遇到的种种困难。第一个比较大的困难是在进行编程之前的应用程序框架向导中是采用哪种结构,在小组内有两种意见,一种是认为应该用对话框,另外一种是认为应该用单文档模板类。这个问题主要是限于当时每个人看的资料不一样,所以要实现功能的方法有所差异,也就是知识的局限性使得我们产生了分歧,在经过组内商议及网上查阅资料并仔细研究了当前比较流行的音乐播放器界面之后,我们一致决定采用单文档模板类。这个问题虽然现在看起来比较简单,但对当时的我们来讲还是比较苦难的。

其次,我想要谈一下在实现功能中所遇到的困难。因为一开始,我受到了关于对话框一类的知识的影响,就误以为只有通过在对话框上才可以加上各种按钮,写到这里,我想先说明关于在按钮上覆盖上各种图标的方法,一开始我错误地认为编译器中会有各种图标供程序员选择,图标的设计与覆盖要在程序编号之后在实现,就像Word中粘贴复制就可以了,可这是大错特错的。实际上,图标的一系列功能是通过位图实现的,方法是现在文件中加入你所需要的资源,即各种图片,也可以自己在编辑器中画图,注意加入的图片必须是bmp格式的,加入图片之后,此图片就会有一个ID,这时就利用已定义好的CBitmapButton类类对象调用其成员函数LoadBitmaps(),参数为ID,这时就可以实现在之前建立的CBitmapButton类类对象上加上一个位图。回到之前的话题,不仅仅只有对话框才可以出现按钮,单文档模板中也可以出现按钮,实际上就是像建立一个主窗口一样建立一个按钮对象,实际上这个按钮对象也属于一个窗口,具体方法如下,前提这几个按钮是在MyplayerView.h和MyplayerView.cpp中定义的,写完前提,现在是方法,MyplayerView这个文件中包含的是CMplayerView类,这个类又继承于CView类,在CView类中有int

CView::OnCreate(LPCREATESTRUCT lpCreateStruct)函数,在这个函数中定义一个CRect类类对象比如RR,紧接着初始化它可以利用它调用 成员函数SetRect(),参数为四个,分别是左上角x坐标、左上角y坐标、右下角x坐标和右下角y坐标。创建好按钮之后,利用CbitmapButton类对象创建一个你所想要的按钮对象,例如m_ButtonLast(上一个按钮),其他的按钮也是利用相同的方法建立的,这样便完成了建立按钮功能的第一步,按钮对象的建立。接下来就是建立与按钮相互响应的消息响应函数。

关于按钮消息响应函数的建立,这个是利用类向导,只要在类向导中按步骤编辑,就可以建立每个按钮所对应的消息响应函数的框架。但要注意,对于命令消息,MFC应用程序框架会通过消息映射机制,按一定的搜索顺序在各个CcmdTarget类(命令处理类)的派生类中查找对应消息处理函数。所有响应消息或事件的类都是由CcmdTarget类派生。在编写程序时应该让命令消息尽可能由与其关系密切的类来处理。尽管消息处理函数可以 安放在某一个类中,但如此一来会使可读性降低,同时执行时也可能发生问题。例如,把与文档有关的消息处理函数放在视图类(CView)中并非不可运行,但可能不会发挥你所希望的功能,而放在文档类(CDocument)中一切都会很顺利。所以,隐藏显示工具栏有框架窗口类处理,新建或打开文件由应用程序类处理,数据存取操作由文档类处理,关于这些按钮的消息处理函数应由视图类来处理。关于这部分遇到的困难主要是不知道这些功能该如何实现,解决的主要是通过上网查资料和图书馆借书。下面分别介绍这些功能实现的简要方法。首先介绍上一个按钮的消息响应函数void CMyPlayerView::OnLast(),该函数的内部第一步是获取当前位置的字符串的下标,然后调用int SetCurSel(m_list1.m_nowpos)获取当前选项,调用成功时返回选中项的下标,如果形参所得值大于列表中项的个数,则返回CB-ERR。如果形参为-1,则清除当前的选择并返回CB-ERR。然后就选中上一个就好了,之后再调用BOOL SetWindowText(),给按钮赋文字,还有图标HBITMAP LoadBitmaps(),最后更新窗口BOOL UpdateWindow((),完成了。下一个按钮与之类似,开始按钮也很像,只是要注意要现获取按钮上的文字,注意开始和暂停的变换,用到的函数只是多了一个int GetWindowText()。播放模式的设计与开始按钮的设计就一样了,也是注意文字的变换。音量控制就是上网搜了一个函数按照网上的些就可以了,调用void OnHScroll(),内部填一些函数就好了。最后一个进度条功能,是建立一个新类cla MyProgre :它派生于CprogreCtrl,积累中就有很多成员函数可以很方便的实现进度控制。

通过这次编程,我不仅锻炼了编程能力,而且深深地意识到团队合作的重要性,一个优秀程序的完成,需要每个人的努力。我十分感谢我的队友们,再编程期间,有很多次遇到困难,是他们给了我勇气与毅力让我坚持了下来,完成任务。感谢队友的支持,感谢老师的谆谆教诲,感谢在编程期间对我寄予帮助与支持的每一个人。

《简易音乐播放器小结.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
简易音乐播放器小结
点击下载文档
相关专题 简易音乐播放器报告 播放器 小结 简易 简易音乐播放器报告 播放器 小结 简易
[其他工作总结]相关推荐
    [其他工作总结]热门文章
      下载全文