音乐暂停与继续播放
Scratch 除了可以写程序、绘制角色和背景,更可以进行简单的声音剪辑处理,这篇教学会透过简单的程控音乐,实现音乐的播放、暂停、继续播放与停止的功能。
快速导览:
绘制角色造型
建立一个新角色“btn_play”,负责控制音乐的播放、暂停和继续播放,替角色绘制三组造型,造型名称分别是 stop ( 黑色三角 )、play ( 绿色三角 ) 和 pause ( 两条红色直线 )。
建立第二个新角色“btn_stop”,负责将音乐停止,造型使用黑色正方形。
建立第三个新角色“text”,负责显示目前音乐播放状态,替角色绘制三组造型,造型名称分别是 stop ( 显示 STOP )、play ( 显示 PLAYING... ) 和 pause ( 显示 PAUSE )。
三个造型完成后,参考下图,在舞台中排列三个造型。
上传音乐
点击角色“btn_play”,切换到“音效”页签,使用“上传”的方式上传自己喜欢的音乐。
程序原理 ( 播放按钮 )
回到角色“btn_play”的程序页签,设定点击绿旗时,发送 stop 广播信号,并设定收到广播信号时,停止播放所有音效以及切换造型为 stop ( 确保一定要点击后才会开始播放 )。
设定点击 btn_play 角色时,根据下列规则撰写程序:
| 造型 | 目前状态 | 程序内容 |
|---|---|---|
| stop 黑色三角形 | 停止播放 | 开始播放音乐,切换造型为 pause 和广播 play 消息。 |
| pause 红色双直线 | 正在播放 | 暂停播放音乐,切换造型为 play 和广播 pause 消息。 |
| play 绿色三角形 | 暂停播放 | 继续播放音乐,切换造型为 pause 和广播 play 消息。 |
由于 Scratch 没有提供“音乐暂停”的功能,只能将音高设为“-10000”将播放速度降到最低 ( 临界值是 -1000,设定为 -10000 更能确保以最慢速播放 ),同时将音量设为“0”来模拟暂停的情境,实际上音乐还是在播放,只是用非常非常慢的速度播放。
注意,此处造型名称和传送的广播消息刚好相反,因为通常播放时,会显示 pause 造型让用户点击,暂停时则会显示 play 造型让用户点击。
程序原理 ( 停止按钮 )
点击角色“btn_stop”,设定点击角色时发送 stop 广播信号。
程序原理 ( 文字显示 )
点击角色“text”,设定收到 play 信号时切换为 play 造型,收到 pause 信号时切换为 pause 造型,收到 stop 信号时切换为 stop 造型。
完成效果
程序完成后,点击绿旗,就可以透过按钮控制音乐播放、暂停、继续播放、停止。
让音乐不断重播
点击角色“btn_play”,新增一个名为“音乐重播”的函数,内容使用重复无限次循环不断播放音乐,接着在播放时执行函数,就能不断重播,如果要停止音乐,只要加入“停止全部”的功能,就能停止所有重复循环而不影响功能,也就能将音乐停止。
范例解答
小结
Scratch 虽然可以控制音乐的播放,但美中不足的是不能“真正暂停”音乐,只能使用“超慢速 + 静音”来模拟暂停,这篇教学除了介绍暂停音乐的做法,也使用造型的方式进行控制,是相当有技巧性的一篇教学喔~
微信扫码关注
抖音扫码关注