| 
 | 
 
注册登录后全站资源免费查看下载
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
×
 
成品+源码:https://wwz.lanzout.com/iOxYN09em3yd 
边学边写,弄了三四天,分享出来给大家参考以下吧。 
另外程序有个BUG,反复点击播放6-10次左右有概率直接把程序玩死。有大佬能帮忙看看啥问题就更好了~ 
 
 
- .版本 2
 
 - .支持库 spec
 
 -  
 
 - .程序集 窗口程序集_启动窗口
 
 - .程序集变量 歌曲数, 整数型
 
 - .程序集变量 歌单, 文本型, , "0"
 
 - .程序集变量 i, 整数型, , , 第几首歌
 
 - .程序集变量 s, 整数型, , , 歌曲播放进度
 
 - .程序集变量 正在播放, 文本型
 
 - .程序集变量 配置播放进度, 文本型
 
 - .程序集变量 mp3状态, 整数型
 
 - .程序集变量 播放状态展示, 文本型
 
 - .程序集变量 播放列表展示内容, 文本型
 
 - .程序集变量 运行目录, 文本型
 
 - .程序集变量 运行目录长度, 整数型
 
 - .程序集变量 文件名长度, 整数型
 
 - .程序集变量 文件夹路径, 文本型
 
 - .程序集变量 可否展示进度, 逻辑型
 
 - .程序集变量 是否保存, 逻辑型
 
 - .程序集变量 循环模式, 逻辑型
 
 -  
 
 - .子程序 __启动窗口_创建完毕
 
 -  
 
 - 运行目录 = 取运行目录 ()
 
 - 选择框_保存进度.选中 = 读配置项 (取运行目录 () + “\播放进度.ini”, “保存进度”, “保存进度”, ) = “真”
 
 - 单选框_列表循环.选中 = 读配置项 (取运行目录 () + “\播放进度.ini”, “循环模式”, “列表循环”, ) = “真”
 
 - 单选框_单曲循环.选中 = 读配置项 (取运行目录 () + “\播放进度.ini”, “循环模式”, “单曲循环”, ) = “真”
 
 - 单选框_随机播放.选中 = 读配置项 (取运行目录 () + “\播放进度.ini”, “循环模式”, “随机播放”, ) = “真”
 
 - 置随机数种子 ()
 
 -  
 
 - .如果真 (选择框_保存进度.选中)
 
 -     配置播放进度 = 读配置项 (取运行目录 () + “\” + “播放进度.ini”, “歌曲列表”, “列表”, )
 
 - .如果真结束
 
 - s = 到整数 (读配置项 (取运行目录 () + “\” + “播放进度.ini”, “播放进度”, “进度”, ))
 
 - 歌单 = 分割文本 (配置播放进度, “,”, )
 
 - 歌曲数 = 取数组成员数 (歌单)  ' 读取歌曲数
 
 - 可否展示进度 = 真
 
 -  
 
 -  
 
 - .如果真 (歌曲数 = 0 或 i = 0)
 
 -     滑块条1.禁止 = 真
 
 - .如果真结束
 
 -  
 
 - .如果真 (s ≠ 0)
 
 -     按钮_暂停继续播放.标题 = “继续播放”
 
 - .如果真结束
 
 -  
 
 - .计次循环首 (歌曲数, i)  ' 添加播放进度到组合框1
 
 -     组合框_音乐列表.加入项目 (歌单 [i] + #换行符, )
 
 - .计次循环尾 ()
 
 -  
 
 -  
 
 - .子程序 _按钮_选择文件_被单击
 
 -  
 
 - ' 删除文件 (取运行目录 () + “\” + “播放进度.ini”)
 
 - 歌单 = 多文件对话框 (“请选择”, “音乐文件.mp3|*.mp3”, , 取运行目录 (), , )  ' 载入播放进度
 
 - 歌曲数 = 取数组成员数 (歌单)  ' 读取歌曲数
 
 - .如果真 (歌曲数 = 0)
 
 -     _按钮_选择文件_被单击 ()
 
 - .如果真结束
 
 - .计次循环首 (歌曲数, i)
 
 -     配置播放进度 = 配置播放进度 + 歌单 [i] + “,”
 
 - .计次循环尾 ()
 
 -  
 
 - .如果真 (选择框_保存进度.选中)
 
 -     写配置项 (取运行目录 () + “\” + “播放进度.ini”, “歌曲列表”, “列表”, 配置播放进度)  ' 写播放进度
 
 - .如果真结束
 
 -  
 
 - .计次循环首 (歌曲数, i)  ' 添加播放进度到组合框1
 
 -     组合框_音乐列表.加入项目 (歌单 [i] + #换行符, )
 
 - .计次循环尾 ()
 
 -  
 
 -  
 
 - .子程序 _标签1_反馈事件, 整数型
 
 - .参数 参数一, 整数型
 
 - .参数 参数二, 整数型
 
 -  
 
 - .如果真 (单选框_列表循环.选中)
 
 -     .如果真 (参数一 = 100)
 
 -         _按钮_下一首_被单击 ()  ' 播放完自动下一首
 
 -     .如果真结束
 
 -  
 
 - .如果真结束
 
 -  
 
 - .如果真 (单选框_单曲循环.选中)
 
 -     .如果真 (参数一 = 100)
 
 -         s = 0
 
 -         播放 ()
 
 -     .如果真结束
 
 -  
 
 - .如果真结束
 
 -  
 
 -  
 
 - .如果真 (单选框_随机播放.选中)
 
 -     .如果真 (参数一 = 100)
 
 -         i = 取随机数 (1, 歌曲数)
 
 -         s = 0
 
 -         播放 ()
 
 -     .如果真结束
 
 -  
 
 - .如果真结束
 
 -  
 
 - s = 参数一
 
 - .如果真 (可否展示进度)
 
 -     滑块条1.位置 = s
 
 - .如果真结束
 
 - .如果真 (歌曲数 ≠ 0)
 
 -     滑块条1.禁止 = 假
 
 - .如果真结束
 
 -  
 
 - .如果真 (选择框_保存进度.选中)
 
 -  
 
 - .如果真结束
 
 -  
 
 -  
 
 - .子程序 播放
 
 - .局部变量 歌曲名位置, 整数型
 
 -  
 
 - 同步播放MP3 (歌单 [i], s, 标签1, )  ' 播放子程序
 
 - 组合框_音乐列表.内容 = 歌单 [i]
 
 -  
 
 -  
 
 - .子程序 _按钮_上一首_被单击
 
 -  
 
 - .如果真 (单选框_随机播放.选中)
 
 -     i = 取随机数 (1, 歌曲数)
 
 -     s = 0
 
 -     播放 ()
 
 - .如果真结束
 
 -  
 
 - .如果真 (单选框_列表循环.选中 或 单选框_单曲循环.选中)
 
 -     .如果真 (歌曲数 = 0)
 
 -         _按钮_选择文件_被单击 ()
 
 -     .如果真结束
 
 -     i = i - 1
 
 -     s = 0
 
 -     .如果真 (i < 1)
 
 -         i = 歌曲数
 
 -     .如果真结束
 
 -     播放 ()
 
 - .如果真结束
 
 -  
 
 -  
 
 - .子程序 _按钮_下一首_被单击
 
 -  
 
 - .如果真 (单选框_随机播放.选中)
 
 -     i = 取随机数 (1, 歌曲数)
 
 -     s = 0
 
 -     播放 ()
 
 - .如果真结束
 
 -  
 
 - .如果真 (单选框_列表循环.选中 或 单选框_单曲循环.选中)
 
 -     .如果真 (歌曲数 = 0)
 
 -         _按钮_选择文件_被单击 ()
 
 -     .如果真结束
 
 -     i = i + 1
 
 -     s = 0
 
 -     .如果真 (i > 歌曲数)
 
 -         i = 1
 
 -     .如果真结束
 
 -     播放 ()
 
 -  
 
 - .如果真结束
 
 -  
 
 -  
 
 - .子程序 __启动窗口_可否被关闭, 逻辑型
 
 -  
 
 - .如果 (信息框 (“是否关闭当前窗口”, 1 + 32, “是否关闭当前窗口”, ) = 0)  ' 关闭窗口前确认
 
 -     .如果真 (i ≠ 0)
 
 -         写配置项 (取运行目录 () + “\播放进度.ini”, “保存进度”, “保存进度”, 选择 (选择框_保存进度.选中, “真”, “假”))
 
 -         写配置项 (取运行目录 () + “\播放进度.ini”, “循环模式”, “列表循环”, 选择 (单选框_列表循环.选中, “真”, “假”))
 
 -         写配置项 (取运行目录 () + “\播放进度.ini”, “循环模式”, “单曲循环”, 选择 (单选框_单曲循环.选中, “真”, “假”))
 
 -         写配置项 (取运行目录 () + “\播放进度.ini”, “循环模式”, “随机播放”, 选择 (单选框_随机播放.选中, “真”, “假”))
 
 -  
 
 -         .如果真 (选择框_保存进度.选中)
 
 -             写配置项 (取运行目录 () + “\” + “播放进度.ini”, “播放进度”, “曲目”, 到文本 (i))  ' 写播放进度
 
 -         .如果真结束
 
 -         .如果真 (选择框_保存进度.选中)
 
 -             写配置项 (取运行目录 () + “\” + “播放进度.ini”, “播放进度”, “进度”, 到文本 (s))  ' 写播放进度
 
 -         .如果真结束
 
 -  
 
 -     .如果真结束
 
 -     返回 (真)
 
 - .否则
 
 -     返回 (假)
 
 - .如果结束
 
 -  
 
 -  
 
 - .子程序 _组合框_音乐列表_将弹出列表
 
 -  
 
 - .如果真 (歌曲数 = 0)  ' 弹出列表时运行选择文件
 
 -     _按钮_选择文件_被单击 ()
 
 - .如果真结束
 
 -  
 
 -  
 
 - .子程序 _组合框_音乐列表_列表项被选择
 
 - .局部变量 f, 整数型
 
 -  
 
 - f = 组合框_音乐列表.现行选中项
 
 - i = f + 1
 
 - s = 0
 
 - 播放 ()
 
 -  
 
 - .子程序 _按钮_暂停继续播放_被单击
 
 -  
 
 - mp3状态 = 取MP3播放状态 ()
 
 - .判断开始 (mp3状态 = 0)
 
 -     i = 到整数 (读配置项 (取运行目录 () + “\” + “播放进度.ini”, “播放进度”, “曲目”, ))
 
 -     .如果真 (歌曲数 = 0)
 
 -         _按钮_选择文件_被单击 ()
 
 -     .如果真结束
 
 -     s = 到整数 (读配置项 (取运行目录 () + “\” + “播放进度.ini”, “播放进度”, “进度”, ))
 
 -     s = s - 1
 
 -     .如果真 (i > 歌曲数)
 
 -         i = 1
 
 -     .如果真结束
 
 -     .如果真 (i = 0)
 
 -         i = 1
 
 -     .如果真结束
 
 -     按钮_暂停继续播放.标题 = “暂停播放”
 
 -     播放 ()
 
 - .判断 (mp3状态 = -1)
 
 -     继续播放MP3 ()
 
 -     按钮_暂停继续播放.标题 = “暂停播放”
 
 - .判断 (mp3状态 = 1)
 
 -     暂停播放MP3 ()
 
 -     按钮_暂停继续播放.标题 = “继续播放”
 
 - .默认
 
 -  
 
 - .判断结束
 
 -  
 
 -  
 
 - .子程序 _滑块条1_位置被改变
 
 -  
 
 - 可否展示进度 = 假
 
 - 同步播放MP3 (歌单 [i], 滑块条1.位置, 标签1, )  ' 播放子程序
 
 - 可否展示进度 = 真
 
 -  
 
 - .子程序 _选择框_保存进度_被单击
 
 -  
 
 -  
 
 -  
 
 - .子程序 _单选框_列表循环_被单击
 
 -  
 
 - 循环模式 = 单选框_列表循环.选中
 
 - 调试输出 (循环模式)
 
 -  
 
 -  
 
 - .子程序 _单选框_单曲循环_被单击
 
 -  
 
 - 循环模式 = 单选框_单曲循环.选中
 
 - 调试输出 (循环模式)
 
 -  
 
 -  
 
 - .子程序 _单选框_随机播放_被单击
 
 -  
 
 - 循环模式 = 单选框_列表循环.选中
 
 - 调试输出 (循环模式)
 
  复制代码 
 
 
 
 
 
 |   
 
 
 
 |