自动循环播放的MP3播放器
来源:互联网 发布:网络授课平台 兼职 编辑:程序博客网 时间:2024/04/29 10:36
【应用】自动循环播放的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号定时器
}
============================
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器(续)
- 制作自动循环播放的MP3播放器 happyparrot
- 自动循环播放的MP3播放器(续)
- 自动循环播放的MP3播放器(续)
- 自动循环播放的MP3播放器(续)
- 自动循环播放的MP3播放器(续)
- 自动循环播放的MP3播放器(续)
- 自动循环播放的MP3播放器(续)
- 连接浏览器SHELL窗口的代码
- 学习SQL文档
- 编译 FFMPEG 动态库
- 连接IE浏览器窗口的代码
- SQL综合应用学习(二)
- 自动循环播放的MP3播放器
- 使用存储过程时一个错误的解决方法。
- 面向对象编程,我的思想
- 浅析SQLSERVER一个没有公开的存储过程
- 面向对象编程,我的思想(下部)
- 学习笔记(四)
- 设置TOMCAT的JVM虚拟机内存大小
- Winsock I/O系列3: Overlapped I/O
- 分布式软件设计之DECORATOR模式(一)