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

}

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

自动循环播放的MP3播放器相关推荐

  1. 【音频处理】Polyphone 样本编辑 和 样本工具 ( 波形图 | 信息 | 频率分析 | 均衡器 | 播放器 | 终点裁剪 | 自动循环节 | 空白移除 | 音量 平衡 音调 调整 )

    文章目录 一. Polyphone 工具简介 1. 相关参考资料 2. 简要介绍 (1) 软件界面 二. 音源编辑 1. 波形图 ( 1 ) 波形图样式 ( 2 ) 波形图操作 2. 信息 ( 1 ) ...

  2. 多功能流媒体播放器实现网页无插件直播之EasyPlayer.js如何实现播放完自动循环播放

    EasyPlayer-Android播放器是一款可针对RTSP.RTMP.RTSP&RTMP协议进行过优化的流媒体播放器,其中我们引以为傲的两个技术优势就是起播速度快和播放延迟低.最近我们遇到 ...

  3. html5 无插件视频播放器,多功能流媒体播放器网页无插件直播EasyPlayer.js如何实现播放完自动循环播放...

    原标题:多功能流媒体播放器网页无插件直播EasyPlayer.js如何实现播放完自动循环播放 EasyPlayer-Android播放器是一款可针对RTSP.RTMP.RTSP&RTMP协议进 ...

  4. 远程WEB控制MP3播放器设计(基于mini2440)

    网上有很多 基于mini2440的MP3播放器设计的资料,多是按键控制,这里博主做了些轻微改动,利用远程WEB来控制MP3播放,具体怎么实现,下面会给出,大家先看看效果: WEB界面: 后台运行: 因 ...

  5. 利用DirectShow开发C#版的MP3播放器(二)

    继上一次利用DirectShow编写了一个C#版的简单MP3播放器之后,这两天利用空余时间对其作了初步的完善,主要工作如下:     1.对原有的代码进行拆分,主要拆分成五个类,包括一个Form类Fr ...

  6. 带倍速播放的播放器_带有HTML5的MP3播放器

    带倍速播放的播放器 MP3 Player with HTML5 In you are a beginner in HTML5 and you are looking for new knowledge ...

  7. 基于QT实现Mp3播放器(代码部分)

    前言     最近有一个课程实验,利用window上的API接口实现MP3播放器. 突发奇想,在linux下用相关接口做一个MP3播放器.最先的打算是完全使用纯C写的,但后来感觉编写调试实在费劲.于是 ...

  8. android 小型音乐播放器(实现播放、下一首、上一首、自动播放、随机播放按钮、当前播放歌曲界面)

    该文章主要针对 android 的音乐播放器软件进行简单的功能添加:播放.断点播放.停止.上一曲.下一曲.随机播放.显示当前播放歌曲(后续会为当前显示的播放添加动画): 软件开发流程: 1.先向内存卡 ...

  9. php怎么控制mp3播放器,【更新2018/12/07】简单的MP3播放器

    本帖最后由 kumamiko 于 2018-12-7 11:02 编辑 snipaste_20181113_122405.png (63.66 KB, 下载次数: 0) 2018-11-13 12:3 ...

最新文章

  1. 算力大战是BCH最坏的一种处理方式
  2. mysql快速迁移数据sql_使用Navicat Premium工具快速迁移数据方法 适用于mysql及mssql数据库...
  3. 保洁阿姨看完都会了!java图形界面设计代码
  4. FFmpegInterop 库在 Windows 10 应用中的编译使用
  5. JUnit的各种断言
  6. SpringMVC和mybatis的框架
  7. Briage桥接设计模式
  8. 算法竞赛入门与进阶 (四)二分
  9. leetcode 452. Minimum Number of Arrows to Burst Balloons | 452. 用最少数量的箭引爆气球(左程云:最大线段重合问题)
  10. html怎么在图片上添加文字_Image J基础操作:给图片添加文字和标注
  11. magento 基本配置
  12. aws dynamodb_如何使用AWS Lambda将DynamoDB集成到您的API中
  13. CCNA之单臂路由实验
  14. pat-A1043:Is it a Binary Search Tree(二叉搜索树和及其镜像树的遍历)
  15. 【数字通信】Matlab实现16QAM调制与解调,判决,误码率计算
  16. matlab系统稳态误差终值,matlab求稳态误差
  17. Pic3D裸眼3D贴膜诞生
  18. andoird 设置锁屏上不显示通知
  19. 模型检测--工具PRISM
  20. MySQL入门学习教程

热门文章

  1. win10 10016自动重启错误解决记录
  2. Skype与Teams的混合部署--意义,效果,注意事项以及建议
  3. 计算机网络安全等级可以划分为几级,网络安全级别划分为几个等级?
  4. Android8打印功能,[翻译]Android 8.1 默认打印服务的中间人攻击漏洞披露
  5. Java五子棋-人人对战
  6. js mysql date format,将MySql DateTime戳记转换为JavaScript的Date格式
  7. 马老板回国,必有大事发生!阿里一拆为六,迎24年来最大组织改革,张勇放权助力六大业务板块再冲IPO!
  8. asp.net 母版页使用详解
  9. Sage X3基于业务的预算管理
  10. JavaFX配置问题及解决措施:报错“缺少JavaFX组件”