下载此文档

MFC做音乐播放器你懂的.doc


文档分类:幼儿/小学教育 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
前言:音乐播放器其实我在大一的时候就用非常生硬的语法写出过一个非常简陋的播放器。这次写的这个是以前那个的加强版。虽然说还是有很多bug,而且我至今不知道那些BUG是什么地方的问题。。
先给个截图吧,播放器的界面:
其实看着还是有那么回事的。。恩,其实除了波形和在线下载的话,功能和酷狗,以及千千静听等播放器的功能是一样的。


音乐播放器的关键是播放音乐,所以第一步是要设计一个类,这个类拥有各种各样的播放音乐的能力。

我设计的类名字叫Player

class Player
{
public:
Player();
virtual ~Player();
void Play();//播放函数
void Pause();//暂停函数
void Stop();//停止函数
void Jump(DWORD pos);//这个函数是用来通过直接拖动进度条,然后播放从歌曲的相应位置播放的函数
void Read(CString str);//这个函数必须在所有函数的前面调用,他有一个传入参数,是指MP3文件的路径
void SetVolume(DWORD vol);//音量大小的设定。这个不难
MCI_STATUS_PARMS GetMode();//这个比较关键,是获得当前的播放状态(一首歌是否播放完了就是靠他)
MCI_STATUS_PARMS GetNow();//当前是播放的歌曲第几分第几秒?可以用来改变时间栏和进度条
MCI_STATUS_PARMS GetLenth();//获得歌曲的长度。(时间)
private:
MCI_PLAY_PARMS m_play;
MCI_OPEN_PARMS m_open;
MCIDEVICEID m_dID;
HWND m_parent;
MCI_STATUS_PARMS m_status;
MCI_SEEK_PARMS m_seek;
MCI_STATUS_PARMS m_mode;
};

各个函数(可以作为以后MCI函数的查阅手册)
实现方法是:
void Player::Read(CString str)
{
m_dID=NULL;
=str;
mand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT,(DWORD)(LPVOID)&m_open);//MCI打开文件
m_dID=;
}

void Player::Play()
{
=(DWORD)m_parent;
mand(m_dID,MCI_PLAY,MCI_NOTIFY,(DWORD)(LPVOID)&m_play);//播放.....下面就不写注释了
}
void Player::Pause()
{
mand(m_dID,MCI_PAUSE,NULL,NULL);
}
void Player::Stop()
{
mand(m_dID,MCI_CLOSE,NULL,NULL);
=0;
}
MCI_STATUS_PARMS Player::GetLenth()
{
=MCI_STATUS_LENGTH;
mand(m_dID,MCI_STATUS,MCI_STATUS_ITEM,(DWORD)(LPVOID)&m_status);
return m_status;
}
MCI_STATUS_PARMS Player::GetNow()
{
=MCI_STATUS_POSITION;
mand(m_dID,MCI_STATUS,MCI_STATUS_ITEM,(DWORD)(LPVOID)&m_status);
return m_status;
}
MCI_STATUS_PARMS Player::GetMode()
{
=MCI_STATUS_MODE;
mand(m_dID,MCI_STATUS,MCI_STATUS_ITEM,(DWORD)(LPVOID)&m_mode);
return m_mode;
}
void Player::Jump(DWORD pos)
{
=pos;
mand(m_dID,MCI_SEEK,MCI_TO|MCI_WAIT,(DWORD)(LPVOID)&m_seek);
mand(

MFC做音乐播放器你懂的 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小255 KB
  • 时间2017-08-06