桌面卡通音乐播放器的设计与实现

桌面卡通音乐播放器的设计与实现

ID:21561832

大小:25.00 KB

页数:5页

时间:2018-10-22

桌面卡通音乐播放器的设计与实现_第1页
桌面卡通音乐播放器的设计与实现_第2页
桌面卡通音乐播放器的设计与实现_第3页
桌面卡通音乐播放器的设计与实现_第4页
桌面卡通音乐播放器的设计与实现_第5页
资源描述:

《桌面卡通音乐播放器的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、桌面卡通音乐播放器的设计与实现  摘要  计算机上的音乐播放软件,可以方便的满足人们对于音乐播放的各种功能。同时,桌面小精灵程良好的人机交互体验,得到了很多用户的肯定和青睐。本文设计一款基于桌面小精灵的音乐播放软件,结合音乐播放器和桌面小精灵程序的优点,最大限度地满足人们对于音乐休闲的多样性和便利性。  【关键词】音乐播放软件播放器设计  1系统功能模块设计  本软件实现如下能模块,桌面小精灵模块,音乐播放器模块和托盘模块。  桌面小精灵功能模块实现一个能在桌面跑动的动态卡通形象,使桌面小精灵能够被用户挪到想要的地方,拖拽时,桌面小精灵动画不能停止,拖拽不带重影。  音乐播放器功能模块包

2、括音乐播放和音乐列表两个子模块:  音乐播放子模块需要实现以下功能:播放,暂停,停止,音量调节,播放进度调整。  音乐列表子模块实现:建立音乐列表,能正常取出上一首和下一首音乐开始播放,若到达列表头尾,则循环转到尾头开始播放。显示和储存分离,音乐列表对话框能隐藏,移动时跟随小精灵。音乐列表接受文件拖拽,双击条目则可以播放该条目的音乐。  托盘功能模块实现:托盘图标可以显示托盘消息,双击托盘图标能够显示已隐藏的桌面小精灵。右键托盘图标能够弹出菜单。并且,桌面小精灵应该始终在最前,以保障用户能够随时使用。  2系统功能具体实现  2.1桌面精灵的实现原理和步骤  实现桌面精灵的步骤如下:  

3、(1)获取桌面窗口句柄:DeskDC=GetDC(GetDesktopWindow());  (2)创建一个内存位图,将桌面精灵的卡通形象存入到此位图中,为此,可以封装一个方法:  VoidMainDlg::SavebackElfin(BKCanvasTCanvas){//内存位图中的画布对象  w:integer;//画布对象的宽度  h:integer;//画布对象的高度  x:integer;//保存的x坐标  y:integer;}//保存的y坐标  (3)将卡通精灵拷贝到桌面的绘图区域;  (4)将第二步生成的内存位图拷贝到桌面位置,完成一帧动画的显示。循环实现1-4步,实现桌

4、面小精灵的连续移动画面。  2.2音乐播放器功能模块的实现  音乐播放可以使用很多技术,如playsound,MCI,DirectX等,本文采用了功能强大且易用的MCI(MediaControlInterface)媒体控制接口。MCI是向基于Windows操作系统的应用程序,它提供了高层次的控制媒体设备接口的能力。本文实现的CDeskMP3类对MCI的音乐播放功能进行了封装,实现了音乐播放器所需的各种功能。  classCDeskMp3  {  public:  CDeskMp3();  CDeskMp3(CStringpath);  voidLoadMp3(CStringpath); 

5、 voidPlay();  voidPlay(intstart);  voidPlay(intstart,intend);  voidPlayLoop();  voidPause();  voidStop();  voidReplay();  voidClose();  voidSetVolume(intvol);  intGetPresentPos();  intGetMusicLength();  private:  DWORDdwReturn;  DWORDm_dwLength;  MCIDEVICEIDm_deviceId;  boolisopened;  UINTflag;  

6、};  2.3托盘功能模块的实现  托盘功能实现具体如下:托盘图标在主窗口中创建,使用托盘结构体NOTIFYICONDATA来创建对象nid;加入托盘时定义好托盘属性:标志位,消息名称;加载图标以及托盘名,用Shell_NotifyIcon函数把托盘加入托盘区;同时在托盘释放的时候需要将托盘从托盘区删除。  voidCYourLandDlg::AddTray()  {  nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);  nid.hWnd=this->m_hWnd;  nid.uID=IDR_MAINFRAME;  nid.uFlags=NIF_ICON

7、

8、NIF_MESSAGE

9、NIF_TIP;  nid.uCallbackMessage=WM_SHOWTASK;  nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));  tcscpy(nid.szTip,TEXT("我是一个托盘图标"));  Shell_NotifyIcon(NIM_ADD,&nid);  }  3结束语  本文主要实

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。