初始化全局变量 播放中 = 假
初始化全局变量 总时长 = 0
当 Screen1.初始化 时
设置 播放器1.音源 = "music.mp3"
设置 计时器_进度.计时间隔 = 500 // 每500ms更新进度
// 播放/暂停切换
当 按钮_播放暂停.被点击 时
如果 全局变量 播放中 = 假 则
调用 播放器1.开始
设置 全局变量 播放中 = 真
设置 按钮_播放暂停.文本 = "⏸"
设置 计时器_进度.启用计时 = 真
否则
调用 播放器1.暂停
设置 全局变量 播放中 = 假
设置 按钮_播放暂停.文本 = "▶"
设置 计时器_进度.启用计时 = 假
// 停止
当 按钮_停止.被点击 时
调用 播放器1.停止
设置 全局变量 播放中 = 假
设置 按钮_播放暂停.文本 = "▶"
设置 计时器_进度.启用计时 = 假
设置 滑动条_进度.滑块位置 = 0
设置 标签_时间.文本 = "00:00 / 00:00"
// 定时更新进度
当 计时器_进度.计时 时
如果 播放器1.正在播放 则
// 注意:Player没有直接获取当前位置的方法
// 需要用计时器累计时间
设置 全局变量 已播放秒 = 全局变量 已播放秒 + 0.5
如果 全局变量 总时长 > 0 则
设置 滑动条_进度.滑块位置 = 全局变量 已播放秒 * 100 / 全局变量 总时长
设置 标签_时间.文本 = 合并字符串(
调用 秒转时间(四舍五入(全局变量 已播放秒)),
" / ",
调用 秒转时间(全局变量 总时长)
)
// 播放完成
当 播放器1.播放完成时
设置 全局变量 播放中 = 假
设置 按钮_播放暂停.文本 = "▶"
设置 计时器_进度.启用计时 = 假
设置 全局变量 已播放秒 = 0
// 秒转时间格式
定义 秒转时间(总秒)
初始化局部变量 分 = 商(总秒, 60)
初始化局部变量 秒 = 余数(总秒, 60)
返回 合并字符串(调用 补零(分, 2), ":", 调用 补零(秒, 2))
// 音量控制
当 滑动条_音量.位置改变 时(滑块位置)
设置 播放器1.音量 = 四舍五入(滑块位置)
// 循环播放切换
当 复选框_循环.改变 时
设置 播放器1.循环 = 复选框_循环.选中