Scratch声音模块详解:声音播放与停止积木的用法、踩坑与同步异步思维
带娃做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 小猫的出场台词按顺序播放音效小猫角色的脚本这样搭当绿旗被点击播放声音 Meow 等待播完说“大家好我是小猫”2秒播放声音 Birds 等待播完说“你听小鸟在唱歌呢”2秒说“演出结束谢谢大家”2秒广播“演出结束”这里全部用“等待播完”是因为我们希望声音和台词有先后顺序先喵一声再说第一句话再放一段鸟叫再说第二句话。如果把“等待播完”换成“播放声音不等待”你会发现小猫说第一句话的同时喵叫声也响起来了顺序完全乱掉。顺序搞定后项目已经能出声了。但这时候背景音乐还没有加整个剧场听起来会比较干。接下来就是声音模块的重头戏让背景音乐循环起来并且在合适的时候停掉。2.3 背景音乐循环与“停止所有声音”的配合背景音乐不能只放一次需要循环。新建一个角色我把这个角色起名叫“播放器”造型可以是一个小喇叭或者一个音符放在舞台角落不挡主角。播放器角色的脚本是当绿旗被点击重复执行播放声音 Music Loop 等待播完注意这里嵌套的是“等待播完”版本。如果用了不等待的“播放声音”配合“重复执行”会导致同一条音频反复从头开始听起来就像卡带声音完全糊在一起。而“等待播完”会让音频完整播放完结束后再进入下一次循环正好实现“循环播放”。这时候小猫角色和播放器角色是“同时”在运行的小猫在讲话播放器在循环音乐。这其实就是Scratch里最简单的并发体验——多个角色可以各自执行自己的脚本互不等待。这也是为什么声音模块会成为理解“多任务”概念的最佳教材。小猫角色最后广播“演出结束”播放器角色要响应这个广播去停止音乐。给播放器角色再加一段脚本当接收到广播“演出结束”停止所有声音这样小猫一喊完“谢谢大家”整个项目的背景音乐就会立刻被按停一个小剧场表演就像模像样地完成了。广播在这里就像一个项目内的大喇叭任何一个角色都可以发出去指定收听的角色就会响应。提示如果播放器收到广播后不听使唤先检查广播名字是不是一模一样。Scratch里广播名多一个空格都对不上这是我见过最隐蔽的错误。2.4 再进阶一步用“音量增加”做淡出效果“停止所有声音”是瞬间切断听起来会有点突兀。更自然的做法是先把音量渐渐调小再执行停止。在播放器角色上把接收广播的脚本改成当接收到广播“演出结束”重复执行10次将音量增加 -10等待0.1秒停止所有声音将音量设为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多留点试错空间给他们效果会让你惊讶。

相关新闻

线段树实战:区间赋值、查询与第k个零查找

线段树实战:区间赋值、查询与第k个零查找

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 12:09:58 阅读更多 →
GitHub热榜深度拆解:从项目筛选到自动化周报生成

GitHub热榜深度拆解:从项目筛选到自动化周报生成

又到了每周日晚上的固定节目:把 GitHub 热榜页面刷一遍,看看这七天社区里都在折腾什么。2026年10月4日这期周榜我反复看了好几遍,有几个项目上线没几天就冲到了总榜前列,也有一些老面孔靠着一波密集更新重新翻红。整体感觉是&…

2026/10/13 12:08:57 阅读更多 →
下地壳流与青藏高原东部地形渗出:从物理机制到数值模拟

下地壳流与青藏高原东部地形渗出:从物理机制到数值模拟

2020年6月5号,我把这篇文献翻来覆去看了三遍。标题里的“渗出”两个字,第一眼看像水文概念,再看才明白,说的是地壳物质像黏稠的糖浆一样从高原底下慢慢溢出来。这个画面一旦建立起来,整篇文献的逻辑就顺了大半&#xf…

2026/10/13 12:08:57 阅读更多 →

最新新闻

Agent上线最后一公里:评测门禁、可观测性埋点与AgentOps闭环落地指南

Agent上线最后一公里:评测门禁、可观测性埋点与AgentOps闭环落地指南

1. 从"能跑"到"敢上线":Agent 交付的最后一公里到底卡在哪做过 Agent 项目的人大概都有过这种体验:本地 Demo 跑得飞起,工具调用、多轮对话、RAG 检索全都正常,演示给同事看的时候掌声一片。可真到了要往生产…

2026/10/13 12:57:09 阅读更多 →
泰坦尼克生存分析:从数据清洗到业务决策的完整链路

泰坦尼克生存分析:从数据清洗到业务决策的完整链路

1. 这不是“电影彩蛋”,而是一份真实世界的生存决策模型“titanic生存率数据分析”——这六个字背后,藏着的不是沉船故事的怀旧回响,而是数据科学入门者真正踩进现实泥地的第一步。它不靠炫技的算法堆砌,也不依赖昂贵的GPU集群&am…

2026/10/13 12:57:09 阅读更多 →
Codex智能体实战:从零构建AI应用的核心循环与工程落地

Codex智能体实战:从零构建AI应用的核心循环与工程落地

开头 我一直觉得,2025年之后学编程,最大的分水岭不是会不会写代码,而是会不会“指挥代码”。标题里这个“闪学it-Codex智能体实战”,说白了就是教你一件事:把AI从“聊天机器人”变成“能干活的下属”。我从零开始踩了一…

2026/10/13 12:57:09 阅读更多 →
OGG Opus音频编码与容器格式解析实践

OGG Opus音频编码与容器格式解析实践

1. 音频编码技术背景与OGG Opus协议概述在实时音频传输领域,编码效率与音质平衡始终是核心技术挑战。2012年由IETF标准化的Opus编码器凭借其独特的多模式架构,在语音和音乐场景中均展现出卓越性能。而OGG作为Xiph.Org基金会推出的开源容器格式&#xff0…

2026/10/13 12:57:09 阅读更多 →
用Go从零写一个本地记账工具:SQLite+命令行实战

用Go从零写一个本地记账工具:SQLite+命令行实战

1. 为什么我劝你用Go写一个属于自己的收支记账工具1.1 从一张Excel表说起:记账这件事到底难在哪我身边有不少朋友,记账这件事前前后后启动过不下五次。第一次是下载某个记账App,记了三天,嫌广告多、启动慢,卸载了。第二…

2026/10/13 12:57:09 阅读更多 →
AI+低代码:元数据驱动与工程化兜底,如何让AI生成的应用真正可交付

AI+低代码:元数据驱动与工程化兜底,如何让AI生成的应用真正可交付

聊到AI和低代码结合,很多人第一反应是:是不是用自然语言说一句“给我做个进销存”,平台就能把页面、逻辑、数据库一次性生成。我做了多年低代码平台,看到这个说法的第一反应其实是警惕——AI生成页面这个事,很早就有各…

2026/10/13 12:56:07 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →