开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 10521|回复: 11
收起左侧

[技术专题] 分享一个学习过程中练习的MP3播放器的教程,特别简单适.....

[复制链接]
发表于 2022-4-14 08:00:35 | 显示全部楼层 |阅读模式   湖北省武汉市
本帖最后由 K`HOST 于 2022-4-14 08:02 编辑

代码和源文件都放上去了,还有一个上一曲的功能没做,要做的话也简单,和下一曲相反就可以了,代码也有很多地方可以提出来弄成子程序进行复用,标签页可以用来展示歌曲名字的

  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
_清理所有_被选择  
停止播放 ()
超级列表框_音乐列表.全部删除 ()
按钮_播放暂停.标题 = “播放”
当前选中歌曲 = -1
子程序名返回值类型公开备 注
_打开文件_被选择  
变量名类 型静态数组备 注
文件组文本型0
索引整数型 
标题组文本型0
i整数型 
' 通用对话框_打开文件.打开 ()
文件组 = 多文件对话框 (“选择一个或对个音频文件”, “歌曲(*.mp3) |*.mp3”, , “D:\E”, , )
如果真 (取数组成员数 (文件组) ≠ 0)
计次循环首 (取数组成员数 (文件组), i)
索引 = 超级列表框_音乐列表.插入表项 (, , , , , )
标题组 = 分割文本 (文件组 [i], “\”, )
超级列表框_音乐列表.置标题 (索引, 0, 标题组 [取数组成员数 (标题组)])
' 调试输出 (标题组)
超级列表框_音乐列表.置标题 (索引, 1, 到文本 (文件组 [i]))
计次循环尾 ()
超级列表框_音乐列表.现行选中项 = 0

' 超级列表框_音乐列表.置标题 (, , )
' 调试输出 (文件组)
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
XP风格 (2)
当前选中歌曲 = -1
子程序名返回值类型公开备 注
_按钮_播放暂停_被单击  
' MP3音乐的播放状态: 0:已经被停止或未播放; -1:正在播放但被暂停; 1:正在播放
如果 (超级列表框_音乐列表.现行选中项 ≠ -1)
如果真 (超级列表框_音乐列表.现行选中项 ≠ 当前选中歌曲)
同步播放MP3 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1), , 标签_歌曲名, )
按钮_播放暂停.标题 = “暂停”
当前选中歌曲 = 超级列表框_音乐列表.现行选中项
调试输出 (“播放-”到文本 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1)))
返回 ()

如果真 (取MP3播放状态 () = 0)
同步播放MP3 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1), , 标签_歌曲名, )
按钮_播放暂停.标题 = “暂停”
当前选中歌曲 = 超级列表框_音乐列表.现行选中项
调试输出 (“播放-”到文本 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1)))
返回 ()
如果真 (取MP3播放状态 () = 1)
暂停播放MP3 ()
按钮_播放暂停.标题 = “播放”
调试输出 (“暂停-”到文本 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1)))
返回 ()
如果真 (取MP3播放状态 () = -1)
继续播放MP3 ()
按钮_播放暂停.标题 = “暂停”
调试输出 (“继续播放-”到文本 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1)))
返回 ()

信息框 (“请选择一个歌曲进行播放!”, 0, , )

' 调试输出 (超级列表框_音乐列表.现行选中项)
' 调试输出 ()
子程序名返回值类型公开备 注
_打开文件夹_被选择  
变量名类 型静态数组备 注
文件目录文本型 
文件名文本型 
索引整数型 
文件目录 = 浏览文件夹 (“添加MP3文件夹”, )
文件名 = 寻找文件 (文件目录 + “\*.mp3”, )
判断循环首 (文件名 ≠ “”)
索引 = 超级列表框_音乐列表.插入表项 (, , , , , )
' 标题组 = 分割文本 (文件组 [i], “\”, )
超级列表框_音乐列表.置标题 (索引, 0, 文件名)
' 调试输出 (标题组)
超级列表框_音乐列表.置标题 (索引, 1, 文件目录 + “\” + 文件名)
文件名 = 寻找文件 (, )
判断循环尾 ()
调试输出 (文件名)
子程序名返回值类型公开备 注
_按钮_下一曲_被单击  
下一首播放 ()
子程序名返回值类型公开备 注
_时钟_播放状态_周期事件  
如果真 (取MP3播放状态 () = 0 超级列表框_音乐列表.取表项数 () ≠ 0 当前选中歌曲 ≠ -1)
下一首播放 ()
' 调试输出 (取MP3播放状态 ())
' 调试输出 (超级列表框_音乐列表.取表项数 ())
' 调试输出 (当前选中歌曲)
子程序名返回值类型公开备 注
下一首播放  
变量名类 型静态数组备 注
随机数整数型 
如果真 (单选框_列表循环.选中 = 单选框_随机播放.选中 = 单选框_顺序播放.选中 = )
如果 (超级列表框_音乐列表.现行选中项 = 超级列表框_音乐列表.取表项数 () - 1)
超级列表框_音乐列表.选择表项 (0)

超级列表框_音乐列表.选择表项 (超级列表框_音乐列表.现行选中项 + 1)

同步播放MP3 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1), , 标签_歌曲名, )
按钮_播放暂停.标题 = “暂停”
当前选中歌曲 = 超级列表框_音乐列表.现行选中项
调试输出 (“播放模式-列表循环-”到文本 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1)))
返回 ()
如果真 (单选框_列表循环.选中 = 单选框_随机播放.选中 = 单选框_顺序播放.选中 = )
置随机数种子 ()
随机数 = 取随机数 (0, 超级列表框_音乐列表.取表项数 ())
超级列表框_音乐列表.选择表项 (随机数)
同步播放MP3 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1), , 标签_歌曲名, )
按钮_播放暂停.标题 = “暂停”
当前选中歌曲 = 超级列表框_音乐列表.现行选中项
调试输出 (“播放模式-随机播放-”到文本 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1)))
返回 ()
如果真 (单选框_列表循环.选中 = 单选框_随机播放.选中 = 单选框_顺序播放.选中 = )
如果真 (超级列表框_音乐列表.现行选中项 ≠ 超级列表框_音乐列表.取表项数 ())
超级列表框_音乐列表.选择表项 (超级列表框_音乐列表.现行选中项 + 1)
同步播放MP3 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1), , 标签_歌曲名, )
按钮_播放暂停.标题 = “暂停”
当前选中歌曲 = 超级列表框_音乐列表.现行选中项
调试输出 (“播放模式-顺序播放-”到文本 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1)))
返回 ()


子程序名返回值类型公开备 注
_标签_歌曲名_反馈事件整数型 
参数名类 型参考可空数组备 注
参数一整数型
参数二整数型
hk条_MP3进度条.位置 = 参数一
' 调试输出 (hk条_MP3进度条.位置)
子程序名返回值类型公开备 注
_hk条_MP3进度条_位置被改变  
同步播放MP3 (超级列表框_音乐列表.取标题 (超级列表框_音乐列表.现行选中项, 1), hk条_MP3进度条.位置, 标签_歌曲名, )


i支持库列表   支持库注释   
iext扩展界面支持库一
xplibXP风格界面库
spec特殊功能支持库
shell操作系统界面功能支持库



音乐播放器.e

21.96 KB, 下载次数: 17, 下载积分: 精币 -2 枚


签到天数: 1 天

发表于 2023-1-22 20:53:07 | 显示全部楼层   辽宁省大连市
嘻嘻   谢谢   好心人
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)
发表于 2022-8-15 09:23:06 | 显示全部楼层   广西壮族自治区南宁市
感觉很不错,支持一下
回复 支持 反对

使用道具 举报

发表于 2022-6-22 07:32:33 | 显示全部楼层   山西省太原市
很经典的例子,非常好的教程
回复 支持 反对

使用道具 举报

发表于 2022-6-22 07:32:13 | 显示全部楼层   山西省太原市
感谢分享
回复 支持 反对

使用道具 举报

发表于 2022-5-21 10:20:26 | 显示全部楼层   广东省汕头市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

发表于 2022-5-15 09:26:46 | 显示全部楼层   江西省南昌市

感谢分享~~~
回复 支持 反对

使用道具 举报

发表于 2022-5-5 12:52:56 | 显示全部楼层   湖南省永州市
666 多谢开源
回复 支持 反对

使用道具 举报

发表于 2022-4-14 21:01:17 | 显示全部楼层   广东省东莞市
感谢分享~~~
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 2 天

发表于 2022-4-14 11:53:48 | 显示全部楼层   保留地址
继续加油~
回复 支持 反对

使用道具 举报

签到天数: 21 天

发表于 2022-4-14 11:47:59 | 显示全部楼层   四川省自贡市
谢谢楼主分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表