优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

VC404 MP3播放器的研究VC++

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

最早的播放器是Frauenhofer在1990年早期开发的,但他只是一个非常不知名的小程序,没有引起大家的重视。而被大家公认的第一个Mp3播放器是在1997年,由一个叫做Tomislav Uzelac的开发者开发的。他开发了AMP MP3 播放引擎。当AMP引擎进入网络以后不久, 几个大学生Justin Frankel 和Dmitry Boldyrev拿到了Amp引擎,并且为他添加了一个Windows界面,最后他们把这个程序命名为:Winamp。在1998年,当Winamp作为免费的音乐播放器在网络上传播的时候,Mp3的狂潮开始了。许许多多的爱好者在网络上交换有版权的音乐mp3。我们同时也可以把Winamp当做MP3的鼻祖,毕竟,是他带动了MP3的发展,并且不断让MP3音乐格式成为当今的主流。
从MP3格式逐渐被大家接〖本文来自:计算机毕业网  〗受到普及总共经历了近10年,在这10年的时间里,MP3播放器也伴随着MP3解码技术的不断提升而进行着一次又一次地版本跟新。从最早的 think58好,好think58 [资料来源:http://think58.com]

本课题需要完成设计的MP3播放器得实现播放MP3格式音乐文件的一些常规功能,用户可以通过点击软件界面上的按钮来完成相应的功能操作。
    播放器的设计主要包括以下几个方面:
(1)按钮方面:软件界面有打开文件、播放、暂停、快进、快退、音量调节、最小化菜单、还原和退出;
(2)内容方面:该播放器将根据歌曲的播放长短显示总共播放时间、当前播放时间;
(3)背景方面:该播放器将使用自制图片做为整个软件的背景,各图标将使用美观的贴图制成;
(4)程序方面:该播放器将使用VC语言进行编码制作,实现Windows环境下对MP3格式音乐文件的播放。程序将分为主程序部分和界面设计程序部分,通过调用MCI的API函数实现对MP3音乐格式文件的解码,然后再完成windows下的音乐播放等操作。 think58 [资料来源:http://THINK58.com]


本次课题所研究的MP3播放器将使用VC进行编写,具体还将涉及libmad音频解码库对MP3格式音乐进行相关的解码的操作。
Visual C++是一个功能强大的可视化软件开发工具。它不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。 [资料来源:http://think58.com]

MFC设计者所用的使类库带来的总开销减到最小的方法之一在MFC对象与Windows对象之间的关系中得到了体现。在Windows中,有关窗口的特性和目前状态的信息被保存在操作系统拥有的内存中。这些信息对应用程序是隐藏的,应用程序只能处理窗口句柄或HWND。MFC并没有复制在CWnd类的数据成员中的与HWND有关的所有信息;事实上,MFC通过将HWND存储在称为m_hWnd的公用CWnd数据成员中,而在CWnd内包装了一个窗口。作为规则,如果Windows通过某种类型的句柄 展示一个对象,那么相应的MFC类就会包含那个句柄的数据成员。如果用户想要调用API函数,该函数要求一个句柄,但是用户只有CWnd或CWnd指针,而不是HWND,那么这些知识对用户来说是很有用的。

内容来自think58

[资料来源:http://www.THINK58.com]

[来源:http://www.think58.com]

5.4.1  程序界面初始化
程序模拟MediaPla〖本文来自:计算机毕业网  〗yer的界面,所以最开始的时候我已经截图了真实MediaPlayer的截图,然后在前面已经导入到了资源管理器中。程序一打开就得显示MediaPlayer的样子,所以它需要加载位图资源到界面上然后显示,其代码如下:
void CMediaPlayer11Dlg::DrawMainPicture(CDC *pDC)
{
 CDC MemDC;
 CBitmap bitmap;
 BITMAP m_bitmap;

[来源:http://think58.com]

 bitmap.LoadBitmap(IDB_MAIN);//加载背景图片
 bitmap.GetBitmap(&m_bitmap);
 MemDC.CreateCompatibleDC(pDC);
 MemDC.SelectObject(&bitmap);
 
 pDC->BitBlt(0,0,m_bitmap.bmWidth,m_bitmap.bmHeight,&MemDC,
  0,0,SRCCOPY);//显示 think58.com

[版权所有:http://think58.com]

 bitmap.DeleteObject();
 MemDC.DeleteDC();
}

think58.com

[资料来源:http://think58.com]

[资料来源:THINK58.com]