当前位置:首页 期刊杂志

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

时间:2024-05-04

周雨彤

摘 要

计算机上的音乐播放软件,可以方便的满足人们对于音乐播放的各种功能。同时,桌面小精灵程良好的人机交互体验,得到了很多用户的肯定和青睐。本文设计一款基于桌面小精灵的音乐播放软件,结合音乐播放器和桌面小精灵程序的优点,最大限度地满足人们对于音乐休闲的多样性和便利性。

【关键词】音乐播放软件 播放器 设计

1 系统功能模块设计

本软件实现如下能模块,桌面小精灵模块,音乐播放器模块和托盘模块。

桌面小精灵功能模块实现一个能在桌面跑动的动态卡通形象,使桌面小精灵能够被用户挪到想要的地方,拖拽时,桌面小精灵动画不能停止,拖拽不带重影。

音乐播放器功能模块包括音乐播放和音乐列表两个子模块:

音乐播放子模块需要实现以下功能:播放,暂停,停止,音量调节,播放进度调整。

音乐列表子模块实现:建立音乐列表,能正常取出上一首和下一首音乐开始播放,若到达列表头尾,则循环转到尾头开始播放。显示和储存分离,音乐列表对话框能隐藏,移动时跟随小精灵。音乐列表接受文件拖拽,双击条目则可以播放该条目的音乐。

托盘功能模块实现:托盘图标可以显示托盘消息,双击托盘图标能够显示已隐藏的桌面小精灵。右键托盘图标能够弹出菜单。并且,桌面小精灵应该始终在最前,以保障用户能够随时使用。

2 系统功能具体实现

2.1 桌面精灵的实现原理和步骤

实现桌面精灵的步骤如下:

(1)获取桌面窗口句柄:DeskDC= GetDC(GetDesktopWindow());

(2)创建一个内存位图,将桌面精灵的卡通形象存入到此位图中,为此,可以封装一个方法:

Void MainDlg::SavebackElfin(BKCanvas TCanvas){//内存位图中的画布对象

w:integer; //画布对象的宽度

h:integer;//画布对象的高度

x:integer;//保存的x坐标

y:integer;}//保存的y坐标

(3)将卡通精灵拷贝到桌面的绘图区域;

(4)将第二步生成的内存位图拷贝到桌面位置,完成一帧动画的显示。循环实现1-4步,实现桌面小精灵的连续移动画面。

2.2 音乐播放器功能模块的实现

音乐播放可以使用很多技术,如playsound,MCI,DirectX等,本文采用了功能强大且易用的MCI( Media Control Interface)媒体控制接口。MCI是向基于Windows操作系统的应用程序,它提供了高层次的控制媒体设备接口的能力。本文实现的CDeskMP3类对MCI的音乐播放功能进行了封装,实现了音乐播放器所需的各种功能。

class CDeskMp3

{

public:

CDeskMp3();

CDeskMp3(CString path);

void LoadMp3(CString path);

void Play();

void Play(int start);

void Play(int start,int end);

void PlayLoop();

void Pause();

void Stop();

void Replay();

void Close();

void SetVolume(int vol);

int GetPresentPos();

int GetMusicLength();

private:

DWORD dwReturn;

DWORD m_dwLength;

MCIDEVICEID m_deviceId;

bool isopened;

UINT flag;

};

2.3 托盘功能模块的实现

托盘功能实现具体如下:托盘图标在主窗口中创建,使用托盘结构体NOTIFYICONDATA 来创建对象nid;加入托盘时定义好托盘属性:标志位,消息名称;加载图标以及托盘名,用Shell_NotifyIcon函数把托盘加入托盘区;同时在托盘释放的时候需要将托盘从托盘区删除。

void CYourLandDlg::AddTray()

{

nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);

nid.hWnd=this->m_hWnd;

nid.uID=IDR_MAINFRAME;

nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ;

nid.uCallbackMessage = WM_SHOWTASK;

nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));

tcscpy(nid.szTip, TEXT("我是一个托盘图标"));

Shell_NotifyIcon(NIM_ADD,&nid);

}

3 结束语

本文主要实现了一个基于桌面精灵的桌面卡通音乐播放器,将桌面精灵活泼可爱的特点融入音乐播放器中,使得用户在使用音乐播放器播放音乐时更加方便并且休闲放松。

参考文献

[1]绿色.活灵活现的桌面精灵[J].少年电脑世界,2010(02):41-42.

[2]王秀梅.Delphi制作升级精灵程序[J].黑龙江科技信息,2010(18):7-67.

[3]周淑华.多媒体播放器通用算法设计与实现[J].电脑编程技巧与维护,2016(21):93-94.

[4]陈忠.在Visual C++中使用托盘图标功能编写计算机定时关机程序[J].电脑编程技巧與维护,2003(08):84-85.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!