吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1546|回复: 4
收起左侧

[求助] 自己写了个易语言播放器练手,程序莫名其妙卡死,请大佬帮忙看看

[复制链接]
最爱吃猪肉 发表于 2022-8-10 11:15
如果反复点击播放按钮,4-6次左右程序就会被卡死,也不报错。实在找不到原因了,请大佬帮忙指点指点,万分感谢~

蓝奏云:

https://wwz.lanzout.com/iQs3r09ax01e



[Asm] 纯文本查看 复制代码
.版本 2
.支持库 spec

.程序集 窗口程序集_启动窗口
.程序集变量 歌曲数, 整数型
.程序集变量 播放列表, 文本型, , "0"
.程序集变量 i, 整数型, , , 第几首歌
.程序集变量 s, 整数型, , , 歌曲播放进度
.程序集变量 正在播放, 文本型
.程序集变量 配置播放列表, 文本型
.程序集变量 mp3状态, 整数型
.程序集变量 播放状态展示, 文本型

.子程序 __启动窗口_创建完毕

配置播放列表 = 读配置项 (取运行目录 () + “\” + “播放列表.txt”, “播放列表”, “列表”, )
播放列表 = 分割文本 (配置播放列表, “,”, )
歌曲数 = 取数组成员数 (播放列表)  ' 读取歌曲数
s = 到整数 (读配置项 (取运行目录 () + “\” + “播放进度.txt”, “播放进度”, “进度”, ))
.如果真 (s ≠ 0)
    按钮_暂停继续播放.标题 = “继续播放”
.如果真结束



.计次循环首 (歌曲数, i)  ' 添加播放列表到组合框1
    组合框_音乐列表.加入项目 (播放列表 [i] + #换行符, )
.计次循环尾 ()

.子程序 _按钮_选择文件_被单击

删除文件 (取运行目录 () + “\” + “播放列表.txt”)

播放列表 = 多文件对话框 (“请选择”, “音乐文件.mp3|*.mp3”, , 取运行目录 (), , )  ' 载入播放列表
歌曲数 = 取数组成员数 (播放列表)  ' 读取歌曲数

.计次循环首 (歌曲数, i)
    配置播放列表 = 配置播放列表 + 播放列表 [i] + “,”
.计次循环尾 ()

写配置项 (取运行目录 () + “\” + “播放列表.txt”, “播放列表”, “列表”, 配置播放列表)  ' 写播放列表

.计次循环首 (歌曲数, i)  ' 添加播放列表到组合框1
    组合框_音乐列表.加入项目 (播放列表 [i] + #换行符, )
.计次循环尾 ()


.子程序 _标签1_反馈事件, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型

.如果真 (参数一 = 100)
    _按钮_下一首_被单击 ()  ' 播放完自动下一首
.如果真结束
s = 参数一
调试输出 (s)


标签1.标题 = “正在播放:” + 播放列表 [i] + “             ” + “播放进度” + 到文本 (s) + “%”

.子程序 播放

同步播放MP3 (播放列表 [i], s, 标签1, )  ' 播放子程序
调试输出 (“当前歌曲数”)
调试输出 (i)
调试输出 (“当前播放进度”)
调试输出 (s)

.子程序 _按钮_播放_被单击

.如果真 (文件是否存在 (取运行目录 () + “\” + “播放进度.txt”))
    i = 到整数 (读配置项 (取运行目录 () + “\” + “播放进度.txt”, “播放进度”, “曲目”, ))
.如果真结束
.如果真 (歌曲数 = 0)
    _按钮_选择文件_被单击 ()
.如果真结束
s = 到整数 (读配置项 (取运行目录 () + “\” + “播放进度.txt”, “播放进度”, “进度”, ))
.如果真 (i > 歌曲数)
    i = 1
.如果真结束
播放 ()

.子程序 _按钮_暂停_被单击

暂停播放MP3 ()

.子程序 _按钮_继续播放_被单击

继续播放MP3 ()

.子程序 _按钮_上一首_被单击

i = i - 1
s = 0
.如果真 (i < 1)
    i = 歌曲数
.如果真结束
播放 ()

.子程序 _按钮_下一首_被单击

i = i + 1
s = 0
.如果真 (i > 歌曲数)
    i = 1
.如果真结束
播放 ()

.子程序 __启动窗口_可否被关闭, 逻辑型

.如果 (信息框 (“是否关闭当前窗口”, 1 + 32, “是否关闭当前窗口”, ) = 0)  ' 关闭窗口前确认
    .如果真 (i ≠ 0)
        写配置项 (取运行目录 () + “\” + “播放进度.txt”, “播放进度”, “曲目”, 到文本 (i))  ' 写播放进度
        写配置项 (取运行目录 () + “\” + “播放进度.txt”, “播放进度”, “进度”, 到文本 (s))  ' 写播放进度
    .如果真结束
    返回 (真)
.否则
    返回 (假)
.如果结束


.子程序 _组合框_音乐列表_将弹出列表

.如果真 (歌曲数 = 0)  ' 弹出列表时运行选择文件
    _按钮_选择文件_被单击 ()
.如果真结束


.子程序 _按钮_调试_被单击

信息框 (“1”, 0, “1”, )


.子程序 _组合框_音乐列表_列表项被选择
.局部变量 f, 整数型

f = 组合框_音乐列表.现行选中项
i = f + 1
s = 0
播放 ()


.子程序 _按钮_暂停继续播放_被单击

mp3状态 = 取MP3播放状态 ()
.判断开始 (mp3状态 = 0)
    .如果真 (文件是否存在 (取运行目录 () + “\” + “播放进度.txt”))
        i = 到整数 (读配置项 (取运行目录 () + “\” + “播放进度.txt”, “播放进度”, “曲目”, ))
    .如果真结束
    .如果真 (歌曲数 = 0)
        _按钮_选择文件_被单击 ()
    .如果真结束
    s = 到整数 (读配置项 (取运行目录 () + “\” + “播放进度.txt”, “播放进度”, “进度”, ))
    s = s - 1
    .如果真 (i > 歌曲数)
        i = 1
    .如果真结束
    按钮_暂停继续播放.标题 = “暂停播放”
    播放 ()
.判断 (mp3状态 = -1)
    继续播放MP3 ()
    按钮_暂停继续播放.标题 = “暂停播放”
    播放 ()
.判断 (mp3状态 = 1)
    暂停播放MP3 ()
    按钮_暂停继续播放.标题 = “继续播放”

.默认

.判断结束






发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

iawyxkdn8 发表于 2022-8-10 13:12
沙发~~~~~~~~
liklik 发表于 2022-8-10 13:53
另起一个线程来操作UI

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
最爱吃猪肉 + 1 + 1 用心讨论,共获提升!

查看全部评分

bobo2017365 发表于 2022-8-10 14:51
 楼主| 最爱吃猪肉 发表于 2022-8-10 15:13
liklik 发表于 2022-8-10 13:53
另起一个线程来操作UI

谢谢大佬,先记下了,还没学到那块呢。。。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 08:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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