网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
用VC设计自动循环MP3播放器
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

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

  } 

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号