自动循环播放的MP3播放器

<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>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

【实现内容】自动循环播放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_MusicCCOMMCI对象

       Init();

       m_Pause.SetWindowText("暂停");

       //

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

       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>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
阅读更多
个人分类: VC和VC++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭