开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

12
返回列表 发新帖
楼主: 罗笛
收起左侧

[易语言] 怎么停止线程里正在播放的音乐

[复制链接]

结帖率:100% (20/20)
发表于 2025-3-6 02:26:39 | 显示全部楼层   浙江省杭州市
音乐_播放  音乐_停止   必须在同一个线程内才行, 所以等待播放完毕就不能为真
你应该 音乐_播放 后 开始获取播放状态判断播放完毕则播放下面的  同时判断需不需要停止播放  
回复

使用道具 举报

结帖率:100% (18/18)

签到天数: 14 天

发表于 2025-3-6 04:13:11 | 显示全部楼层   福建省泉州市
是可可吖 发表于 2025-3-6 02:01
这是楼主的需求啊,不是我的。我昨天已经给他建议了其他方式,但是他非要等待播放完毕为真,我也没办法 ...

模块开源的,把命令源码抠出来改一下就好了


补充内容 (2025-3-6 04:13):
把中断命令放到模块命令里面去

点评

咦,这确实是个好办法   **  发表于 2025-3-6 04:15
回复

使用道具 举报

结帖率:50% (2/4)

签到天数: 5 天

 楼主| 发表于 2025-3-6 07:56:58 | 显示全部楼层   云南省楚雄彝族自治州
是可可吖 发表于 2025-3-6 01:06
如果非要用精易模块里的  音乐_播放()并且   是否等待歌曲播放完毕  为真

我个人觉得,这个问题可能真的 ...

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

.程序集 窗口程序集_启动窗口
.程序集变量 停止标识, 逻辑型

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

停止标识 = 假
.如果 (停止标识 = 假)
    音乐_播放 (取运行目录 () + “/测试音频/开始.mp3”, “开始”, 假, 真)
    延迟 (音乐_时长 (取运行目录 () + “/测试音频/开始.mp3”))
.否则
    返回 ()
.如果结束

.计次循环首 (3, )
    .如果 (停止标识 = 假)
        音乐_播放 (取运行目录 () + “/测试音频/音乐.mp3”, “音乐”, 假, 真)
        延迟 (音乐_时长 (取运行目录 () + “/测试音频/音乐.mp3”))
    .否则
        返回 ()
    .如果结束

.计次循环尾 ()

.如果 (停止标识 = 假)
    音乐_播放 (取运行目录 () + “\结束.mp3”, “结束”, 假, 真)
    延迟 (音乐_时长 (取运行目录 () + “/测试音频/结束.mp3”))
.否则
    返回 ()
.如果结束



.子程序 _按钮_停止2_被单击

停止标识 = 真
音乐_停止 (“开始”)
音乐_停止 (“音乐”)
音乐_停止 (“结束”)



我之前就是这样写的,但会出现Bug,例如,连续单击播放-停止-播放-停止-播放,里面的延迟就会干扰,循环3次的音乐就会循环很多次,结束音乐也会出现很多次。
回复

使用道具 举报

结帖率:100% (20/20)

签到天数: 15 天

发表于 2025-3-6 08:12:58 | 显示全部楼层   浙江省杭州市
写个简单的例子  音乐播放完 要执行的代码在哪里
回复

使用道具 举报

结帖率:50% (2/4)

签到天数: 5 天

 楼主| 发表于 2025-3-6 11:01:59 | 显示全部楼层   云南省昆明市
b0y 发表于 2025-3-6 08:12
写个简单的例子  音乐播放完 要执行的代码在哪里

详情请看附件

测试源码.rar

1.27 MB, 下载次数: 2

回复

使用道具 举报

结帖率:100% (20/20)

签到天数: 15 天

发表于 2025-3-6 13:36:15 | 显示全部楼层   浙江省杭州市

音频播放停止测试.e (960.2 KB, 下载次数: 2)
回复

使用道具 举报

结帖率:50% (2/4)

签到天数: 5 天

 楼主| 发表于 2025-3-6 14:51:08 | 显示全部楼层   云南省昆明市
b0y 发表于 2025-3-6 13:36
线程里 可以等待播放完毕  
同一个线程 可以 音乐_停止()

感谢大佬,这样写的话bug解决了,但停止的时候不能再音乐播放过程中停止,还是得等音乐放完一遍才能停止
回复

使用道具 举报

结帖率:100% (20/20)

签到天数: 15 天

发表于 2025-3-6 15:01:33 | 显示全部楼层   浙江省杭州市
罗笛 发表于 2025-3-6 14:51
感谢大佬,这样写的话bug解决了,但停止的时候不能再音乐播放过程中停止,还是得等音乐放完一遍才能停止 ...

因为等待播放完毕的原因  你试试把播放那里 改回延时等待   线程里可以用延时  不卡界面
回复

使用道具 举报

结帖率:50% (2/4)

签到天数: 5 天

 楼主| 发表于 2025-3-6 15:38:18 | 显示全部楼层   云南省昆明市
b0y 发表于 2025-3-6 15:01
因为等待播放完毕的原因  你试试把播放那里 改回延时等待   线程里可以用延时  不卡界面 ...

好的,我试试
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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