您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > VC > 正文
VC设计可自动循环播放的MP3播放器
[文章信息]
作者:happyparrot
时间:2004-05-25
出处:论坛
责任编辑:方舟
[文章导读]
自动循环播放的MP3播放器主要用于企业文化的应用。在每天的休息时段,播放器自动循环播放指定的MP3音乐
advertisement
热点推荐
· 天极网软件频道改版调查
· 25软件精选 Excel分页汇总
· 提升Win XP性能的20个特殊技巧
· 图解JBuilderX安装与实践
· Fireworks国画:葡萄小鸡图
[正文]

  【实现内容】自动循环播放的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号定时器
}

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


 


·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载


发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • 用VC++开发数据库应用程序(六)
  • 用VC++开发数据库应用程序(五)
  • 利用CAsyncSocket类实现Socket编程
  • 用VC++开发数据库应用程序(四)
  • 用VC++开发数据库应用程序(三)
  • 盘符混乱咋办 拨乱反正有巧招
  • MotherBoard Monitor入门篇
  • MotherBoard Monitor进阶篇
  • 如何买到一部称心的品牌电脑
  • 关注!国内首款GeForce 6200显卡曝光
  • 《魔兽世界》角色扮演游戏壁纸
  • 天极缉拿假IE4.0为首的仿冒鼠
  • 《魔兽世界》Q版人物头像集
  • Advertisement

    天极无线
    待机彩图    >>更多
    多彩动画    >>更多
    美妙和弦    >>更多
    天使在唱歌
    壁虎漫步
    PrettyBoy
    LoveLoveLove
    我是你的小小狗
    单身情歌
    十面埋伏
    祝酒歌
    回心转意
    波斯猫
    太委屈
    S.H.E
    潘玮柏
    M2M
    蔡依林
    阿牛
    林志炫
    陈弈迅
    刀郎
    黑龙
    S.H.E
    陶晶莹
    情人玫瑰坊
    音乐风云
    新片速递
    神秘测试
    都市约会
    ·天极彩信天天精彩
    ·图铃梦工厂下载无限!
    ·找寻童真,卡通专题
    ·夏日激情交友社区!
    ·星座运程,预测人生

    CSEEK搜索