☰
Scratch声音模块详解:声音播放与停止积木的用法、踩坑与同步异步思维
2026/10/13 12:09:55 网站建设 项目流程

带娃做Scratch项目这几年,最常被问到的不是“怎么让角色动起来”,而是“为什么我的小猫没有声音”。A同学照着样例搭了一圈积木,一点绿旗,小猫一动不动,嘴巴一张一合就是不出声;B同学的小猫倒是响了,可声音叠在一起,像菜市场一样乱哄哄。这些场景,在课堂和线上答疑里反复出现。今天这篇聊透Scratch声音模块里最基础也最关键的两个动作——声音播放和停止。把所有相关积木、参数、踩坑点一次理清,不管是刚接触编程的孩子、想辅导孩子的家长,还是带班的老师,都能直接照着做。

1. 先认清声音模块:四类积木搞定声音播放、停止和效果

1.1 声音模块的入口和界面分工

在Scratch积木面板左侧,有一排分类标签,其中“声音”标签显示为紫色,在有的版本里看起来会偏粉。它位于“外观”和“事件”之间,这个位置很有意思:外观管看,声音管听,事件管触发——这三类积木组合起来,正好是多媒体互动的基础。

很多新手会把积木面板上的“声音”分类和页面左上角的“声音”标签页搞混。积木面板上的声音分类,是控制声音的“命令”;左上角的声音标签页,是存放和管理声音素材的“仓库”。两者完全不是一回事。仓库页里可以“选择一个声音”打开内置声音库、“上传声音”从电脑导入音频,还可以“录制”直接对着麦克风录音。

内置声音库里的素材按动物、效果、电子、乐器、循环、人声等分类,比如Meow、Pop、Birds、Drum Beat都是很常用的。我建议每个项目开始前,先到这个仓库里把用到的声音准备好,否则在积木的参数下拉框中根本找不到对应的声音名,孩子会觉得“我明明加了声音,怎么就找不到”。

1.2 播放类积木:“播一下”和“等播完”的区别

声音模块里最容易让初学者迷惑的,是“播放声音 [ ]”和“播放声音 [ ] 等待播完”这一对孪生兄弟。

“播放声音 [ ]”是个“急性子”:把它拖到脚本里,只要执行到这一行,声音就开始播放,紧接着立刻执行后面的积木,完全不等待声音播完。适合用在短促音效上,比如角色跳跃时的“嗖”、点击时的“Pop”,效果短,不需要等。

“播放声音 [ ] 等待播完”则是个“慢性子”:执行到这个积木时,它会一直等到这段音频播放完毕,才放行下一个积木。适合用在配音、对话、歌曲等需要完整播放的场景。

怎么帮孩子理解?我会打比方:“播放声音不等待”就像发一条语音消息,发完你可以马上做别的事;“播放声音等待播完”就像打电话,没挂断之前你什么别的都做不了。搭积木时多问自己一句:我现在是想要“边播边做”,还是“播完再做”?这两个积木一个快一个慢,用错了,整个项目节奏都会乱。

1.3 停止声音和声音效果积木:让声音听你的话

接下来是“停止所有声音”。这个积木的威力很大,不是只停当前角色自己的声音,而是把整个项目里所有角色、所有正在播放的音频全部按停。它的用途主要集中在两块:一是需要“闭嘴”的时候,比如角色对话被打断、场景切换;二是实现背景音乐的开关控制——前面用“播放声音 等待播完”让音乐循环,后面收到某个广播就执行“停止所有声音”。

再往下是几个调节类积木:“将音量设为 [ ]%”、“将音量增加 [ ]”、“清除声音效果”。在Scratch 3.0里,还有“将音调设为 [ ]”、“将左右平衡设为 [ ]”这类效果积木。音调调高会让声音变尖,调低会变闷;左右平衡则控制声音从左边还是右边声道出来。

这些效果按角色独立生效。也就是说,你可以让小猫的音量是40%,同时背景音乐角色的音量保持100%,互不干扰。很多孩子会把音量调到0后又怪程序坏了,其实是他自己改的;而理解“音量按角色独立”这一点,后面做多角色小剧场时能少踩一半的坑。

2. 实操项目:给小剧场配音,把声音播放和停止用起来

2.1 项目设定与声音素材准备

理论说再多,都不如动手搭一个小项目。就拿最简单也最容易出效果的“小动物剧场”来演示。

项目设定:一只小猫上台打招呼,说完话后播放一段小鸟叫声,同时全程循环背景音乐;当表演结束时,所有声音一起停掉。

先准备声音素材。进入“声音”标签页,点击左下角的“选择一个声音”,搜索添加这几段:Meow(猫叫)、Birds(鸟叫)、Music Loop一类的循环音乐。如果你觉得内置声音不合适,也可以点“上传”,支持mp3和wav格式。

这里有个小提醒:文件名建议改成英文或拼音,后面在积木下拉框里好认,不至于满屏都是“未命名”。孩子传到一半总爱随手点个按钮,结果声音库里堆了一堆乱七八糟的名字,找起来要命。这个习惯从第一个项目开始养成,后面会轻松很多。

2.2 小猫的出场台词:按顺序播放音效

小猫角色的脚本这样搭:

  1. 当绿旗被点击
  2. 播放声音 Meow 等待播完
  3. 说“大家好,我是小猫!”2秒
  4. 播放声音 Birds 等待播完
  5. 说“你听,小鸟在唱歌呢!”2秒
  6. 说“演出结束,谢谢大家!”2秒
  7. 广播“演出结束”

这里全部用“等待播完”,是因为我们希望声音和台词有先后顺序:先喵一声,再说第一句话;再放一段鸟叫,再说第二句话。如果把“等待播完”换成“播放声音不等待”,你会发现小猫说第一句话的同时,喵叫声也响起来了,顺序完全乱掉。

顺序搞定后,项目已经能出声了。但这时候背景音乐还没有加,整个剧场听起来会比较干。接下来就是声音模块的重头戏:让背景音乐循环起来,并且在合适的时候停掉。

2.3 背景音乐循环与“停止所有声音”的配合

背景音乐不能只放一次,需要循环。新建一个角色,我把这个角色起名叫“播放器”,造型可以是一个小喇叭或者一个音符,放在舞台角落,不挡主角。

播放器角色的脚本是:

  1. 当绿旗被点击
  2. 重复执行
    • 播放声音 Music Loop 等待播完

注意这里嵌套的是“等待播完”版本。如果用了不等待的“播放声音”,配合“重复执行”会导致同一条音频反复从头开始,听起来就像卡带,声音完全糊在一起。而“等待播完”会让音频完整播放完,结束后再进入下一次循环,正好实现“循环播放”。

这时候,小猫角色和播放器角色是“同时”在运行的:小猫在讲话,播放器在循环音乐。这其实就是Scratch里最简单的并发体验——多个角色可以各自执行自己的脚本,互不等待。这也是为什么声音模块会成为理解“多任务”概念的最佳教材。

小猫角色最后广播“演出结束”,播放器角色要响应这个广播去停止音乐。给播放器角色再加一段脚本:

  1. 当接收到广播“演出结束”
  2. 停止所有声音

这样,小猫一喊完“谢谢大家”,整个项目的背景音乐就会立刻被按停,一个小剧场表演就像模像样地完成了。广播在这里就像一个项目内的大喇叭,任何一个角色都可以发出去,指定收听的角色就会响应。

提示:如果播放器收到广播后不听使唤,先检查广播名字是不是一模一样。Scratch里广播名多一个空格都对不上,这是我见过最隐蔽的错误。

2.4 再进阶一步:用“音量增加”做淡出效果

“停止所有声音”是瞬间切断,听起来会有点突兀。更自然的做法是先把音量渐渐调小,再执行停止。在播放器角色上,把接收广播的脚本改成:

  1. 当接收到广播“演出结束”
  2. 重复执行10次
    • 将音量增加 -10
    • 等待0.1秒
  3. 停止所有声音
  4. 将音量设为100%

这段脚本的作用很直观:把当前音量从100%每次降10%,重复10次后正好变为0%,同时每降一次间隔0.1秒,形成听觉上的“淡出”。最后再把音量恢复到100%,因为音量是按角色记忆的,不恢复的话,下次演出时播放器角色就一直是静音状态。

这类小细节,就是项目从“能动”变成“好听好看”的关键。孩子做完基础版之后,引导他改一改音量参数,比如每次改成-5、等待时间改成0.2秒,他甚至能自己摸索出“音乐渐强”的效果:先把音量设为0%,再重复增加音量。声音模块就成了他们理解“循环”和“变量变化”的绝佳道具。

3. 常见问题与排查技巧:孩子翻车最多的几个地方

3.1 照着搭了还是没声音:先检查这四处

声音问题90%出在四个地方,按顺序排查,比乱试快得多。我给班里孩子编过一个口诀:“先看素材,再看音量,三查外设,最后看脚本。”

现象排查顺序解决思路
点了绿旗完全没声音①检查“声音”标签页里有没有这个声音;②检查积木参数下拉框选的是不是名字;③检查音量积木是否被设为0%;④检查电脑或平板音量,以及浏览器标签页是否静音一步步确认,多数是素材没添加或音量归零

这个表格看起来简单,但每一条都来自真实的翻车现场。A同学某次演示时怎么都不出声,我过去一看,浏览器标签页被静音了,整个教室都憋着笑。后来我上课前总会先问一句:“你们电脑的喇叭打开了吗?”省掉一半的求助。

还有一个隐蔽的坑:声音积木被放在“当角色被点击”里,但绿旗脚本同时在运行,触发顺序不对,导致还没点到就已经被其他脚本控制。这种“多脚本打架”问题,可以用“停止这个脚本”或“停止所有脚本”来梳理。

3.2 声音重叠成“菜市场”:同步与打断

声音重叠是课堂里最高频的翻车现场。A同学的小猫能出声了,但听起来像好几段声音叠在一起。原因主要有两种:

  • 用不等待的“播放声音”放在“重复执行”里,音频还没播完就触发第二次,导致同一段声音从头开始,感觉像卡带。
  • 多个角色同时播放不同的音频,又没有安排好先后顺序,就成了混音。

解决思路是:先想清楚这段声音是“音效”还是“台词或音乐”。音效短,可以用不等待;台词和音乐要排队,就用“等待播完”。如果多个角色必须同时发声,那就别抱怨它乱,先设计好“谁先谁后、谁大声谁小声”——这其实是项目设计层面的问题,不是Bug。

我在课堂上经常让孩子故意做一次“乱糟糟版”,再让他自己想办法改整齐。这个试错过程,比任何讲解都有效。他会发现,原来“等待播完”和“停止所有声音”就是收拾局面的工具。

3.3 上传的声音播不出来:格式、大小和剪辑

有些孩子喜欢导入自己录的音频,结果放不出来。常见原因有:文件格式不是mp3或wav、音频文件太大、时长太长导致加载缓慢。Scratch的“上传”按钮对格式比较挑,遇到播放异常,可以用两招解决:

一是先用格式转换工具把音频转成标准的wav再上传。二是直接在声音标签页里点“录制”,简单高效,还能顺便做剪辑。很多人不知道,Scratch的声音编辑器里可以做简单的修剪,还能加“快进”、“慢速”、“回声”、“机械”、“反转”等效果,非常适合做怪兽音、机器人音。

孩子们在课堂上做这些效果时总是特别兴奋,但要注意:效果会在原声音上叠加,如果连续点几次,声音会变得面目全非。想恢复,就重新上传或者先删掉再添加。还有一个细节:用“音调设为200”可以把一段普通的朗读变成机器人语音,配上“左右平衡设为-50”,声音就像从左边飘过来,非常出效果。

3.4 音量是角色的还是全局的:别被“音量设为0”误导

Scratch里,音量积木是按角色独立记忆的。很多孩子把小猫的音量设为0%,然后跑去问“为什么小猫没声音”,但他们不知道背景音乐角色的音量还是100%,所以音乐继续响,小猫的叫声却消失了。反过来也成立:把播放器角色的音量设为0,背景音乐没了,但小猫的音效正常。

这个坑特别容易出现在项目改版的时候。孩子上一次调试把音量调到了0%,下一次打开项目就忘了,结果所有声音都怪怪的。我建议在项目收尾时,把所有音量相关的积木再统一检查一遍,确认该是100%的都恢复成100%。

还有一点:如果角色声音听起来很怪,变得很尖或者很粗,多半是音调效果没有清除。这时候找一下“清除声音效果”积木,它可以一口气把所有音调、左右平衡的外观效果全部恢复默认,比手动一个一个调回去快得多。

3.5 实测环节的“两个不要”

分享两个上课时我反复强调的实操原则:

第一个不要——不要在“当绿旗被点击”里一口气把所有声音积木全串起来,除非你故意要它们排队。如果项目里有背景音乐、有角色台词、有点击音效,最好分成三个角色或者三组脚本,各管各的,不然改一个地方就要动整条链。

第二个不要——不要拿“重复执行”包住“播放声音不等待”来循环,这个组合我见过太多翻车案例。如果确实要循环音乐,就在重复执行里放“等待播完”版本,或者用音乐扩展里的“演奏音符”来生成循环旋律。音乐扩展更适合节奏和音符类的场景,后面会讲到。

4. 从声音控制到编程思维:同步、异步与事件驱动

4.1 “等待与不等待”就是同步和异步的小学版

很多家长问我:孩子学声音模块,除了会做动画配音,还有什么价值?我的看法是,声音模块是孩子接触“同步”和“异步”概念的最好入口。

在Scratch里,“播放声音等待播完”就是同步:后续积木必须等它完成,就像打电话必须等对方挂断才能继续;“播放声音不等待”就是异步:启动后就继续往下走,就像发微信语音,发完就可以做别的事。这跟以后学编程里的“并行任务”“事件回调”是同一个思想。

比如做一个小游戏:角色碰到障碍物时,播放撞击音效用不等待,同时立刻改变造型、速度、得分。如果这里用了“等待播完”,整个画面的反馈就会卡在音效上,游戏手感会很差。孩子在课堂上未必能说出“异步”这个词,但他们在反复调试中已经感受到:有些事可以边做边播,有些必须排队。

4.2 事件驱动下的“声音开关”:广播让声音模块活起来

“停止所有声音”配合“广播”,是Scratch里一个非常经典的组合。广播相当于一个项目内的信号灯:任何角色都可以收听,也可以响应。

比如游戏从“白天场景”切到“夜晚场景”时,收到广播“切到夜晚”,负责配乐的角色执行“停止所有声音”,然后重新播放夜晚的BGM。这种事件驱动写法,比让所有声音都堆在绿旗脚本里要清晰得多。声音不再是“自己响”,而是成了程序流程里的一个信号。

我建议学生做的第一个声音广播任务是“抢答器”:按下空格键,播放提示音并广播“有人抢答”,主持人角色收到广播后切换背景。这样孩子会直观感受到:声音可以触发事件,事件也可以控制声音——两者是双向的。这个理解,比单纯记住几个积木的位置重要得多。

4.3 声音模块的延伸玩法:响度侦测、录音和音乐扩展

如果想让孩子继续往下钻,可以分三条路走。

第一条路是响度侦测。在“侦测”模块里有“响度”积木,可以调用麦克风的声音大小。常见玩法是“吹气小游戏”:对着麦克风吹气,响度值升高,角色就往上跳。这个玩法能让孩子立刻感受到“真实的输入信号”是怎么转化为程序控制的,几乎每个孩子玩这个都会笑到合不拢嘴。

第二条路是录音创作。声音标签页提供录音功能,让孩子录一段自己的声音,再配上“音调设为200”,瞬间变成机器人语音;配上“左右平衡设为-50”,声音就像从左边飘过来。这些效果配合声音模块,能做出很有创意的角色和故事。

第三条路是音乐扩展。点击左下角添加扩展,选“音乐”,里面有“演奏音符”、“休止”、“将乐器设为”、“将速度设为”等积木。用它可以做不依赖外部音频的旋律生成器,再配合“播放声音”混搭使用,项目会立刻上一个档次。不过音乐扩展对乐理有一点要求,更适合有一定基础的孩子。

这三条路都建立在“把声音播放和停止用熟”的基础上。基础不牢,后面学音乐扩展时才现翻积木,会手忙脚乱。

带完一轮声音模块的课,我最大的感受是:别急着教孩子所有积木,先让他亲手做一个“声音乱成一团”的失败例子,再让他自己想办法收拾干净。A同学做“两只小猫吵架”这个项目时,一开始两只猫同时播放喊叫,声音叠在一起乱成一团;他没有问我怎么改,而是自己加了一条广播和一句“停止所有声音”,把吵架分成了回合制,效果反而比我的标准答案更好。

那一刻我就觉得,声音播放和停止这些小积木,真正教给孩子的不是“点按钮”,而是“让程序按你的节奏控制世界”的感觉。如果你也在带孩子玩Scratch,多留点试错空间给他们,效果会让你惊讶。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询