分享
 
 
 

用VC设计自动循环MP3播放器

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

【实现内容】自动循环播放的MP3播放器

【应用】自动循环播放的MP3播放器主要用于企业文化的应用。在每天的休息时段,播放器自动循环播放指定的MP3音乐。本自动播放器主要根据本公司的情况编写,包括早上上班,中午吃饭和下午下班三个时间段各播放1小时左右的音乐。播放器启动后,只在托盘中有图标,配置好各个时间段的音乐目录后,不需要人工干预,音乐可以自动启动、循环播放和结束。现已在本公司使用。

【特点】本软件用到许多常用的技巧:

1. 目录选择对话框

2. 文件选择对话框中的多个文件类型过滤设定

3. 应用程序在任务栏上隐藏,而在托盘上显示图标

4. 进度条的制作

5. 定时器使用

6. 带有链接功能的按钮――点击按钮可以打开电子信箱

7. 椭圆型的彩色按钮,彩色文本

8. 彩色标题条,彩色标题文字。等等

【实现原理】主要使用定时器。程序一旦运行,定时器将每秒响应一次。直到手工退出程序。

【主要控件】

m_MusicList---ComboBox类型 音乐文件列表

【主要程序段及说明】

void CMp3PlayerDlg::OnOpen() //点击打开按钮,选择音乐文件。可以多选

{

m_MusicList.ResetContent();

m_MusicAry.RemoveAll();

m_Music.Close(); //m_Music是CCOMMCI对象

Init();

m_Pause.SetWindowText("暂停");

//

CString filter = "媒体文件(所有类型)|*.cda;*.mid;*.rmi;*.midi;*.asf;*.wm;*.wma; *.asx;*.wax;*.m3u;*.wvx;*.mpeg;*.mpg;*.m1v;*.mp3; *.avi;*.wmv;*.wav;*.snd;*.au;*.aif;*.aifc|";

filter = filter +"CD音乐曲目(*.cda)|*.cda|" + "MIDI文件(*.mid;*.rmi;*.midi)|*.mid;*.rmi;*.midi|" +

"Windows Media文件(*.asf;*.wm;*.wma;*.wa?)|*.asf;*.wm;*.wma;|" +

"媒体播放表(*.asx;*.wax;*.m3u;*.wvx)|*.asx;*.wax;*.m3u;*.wvx|" +

"电影文件(*.mpeg;*.mpg;*.m1v;*.mp3)|*.mpeg;*.mpg;*.m1v;*.mp3|" +

"视频文件(*.avi;*.wmv)|*.avi;*.wmv)|" +

"音频文件(*.wav;*.snd;*.au;*.aif;*.aifc)|*.wav;*.snd;*.au;*.aif;*.aifc|" +

"所有文件(*.*)|*.*|";

CFileDialog music(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,filter);

if(music.DoModal() == IDOK)

{

POSITION pos = music.GetStartPosition();

while (pos != NULL)

{

CString str = music.GetNextPathName(pos);

m_MusicAry.Add(str);

int index = str.ReverseFind(’’);

if(index == -1)

m_MusicList.AddString(str);

else

{

CString name = str.Mid(index + 1);

m_MusicList.AddString(name);

}

}

}

}

============================

void CMp3PlayerDlg::Play(int index)//播放函数,index为曲目的序号

{

m_Music.Close();

m_MusicList.SetCurSel(index);

CString sPath = m_MusicAry.GetAt(index);

m_Music.Open(sPath);

m_Status.SetWindowText(sPath + _T(" 正在播放..."));//在状态条中显示提示信息

m_nLength = m_Music.GetLength();//获取音乐长度

m_nPos = 0;

m_nTime = m_nLength/1000;//除以1000即为播放时间

//

m_sMusicLen.Format("%d分%d秒",m_nTime/60,m_nTime%60);//显示播放时间

m_sMusicPos.Format("%d分%d秒",m_nPos/60,m_nPos%60);//显示当前播放位置

//

UpdateData(false);

m_MPBar.SetScrollRange(0,m_nTime);//设置音乐播放的进度条范围

//

m_Volume.SetRange(0,1000);//设置音量调节范围

m_Volume.SetPos(m_nVolume);

//

m_Music.Play(this->m_hWnd);//开始播放

SetTimer(2,1000,NULL);//启动2号定时器

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有