三、声音传奇

第12课 自由录音

任务场景:自由录音
任务场景:自由录音

一、任务目标

掌握 1号按键 开始、2号按键 停止,能演示 1号按键 出柱状图、2号按键 或满 1000 后停止,并能讲清旗变量何时为真。

二、我们要学什么

  • 学习要点:用「开始录音」开关:1号按键 打开文件并置真,为真时才采样;2号按键 或超 1000 条则关闭
  • 本课过关:能按 1号按键 开始、按 2号按键 停止,文件只在录音期间写入。
  • 示例对齐:体验题对应 「3-4-1 自由录音」;完整代码对应 「3-4-2 自由录音」。

三、本节要点

本节把「按一次采完」改成可随时停。开始录音 = True 必须写在 1号按键 分支里,不能放到主循环顶层。

1读场景明确真实任务
2对要点1号按键 开始、2号按键 停止录音
3载入运行兴趣课程积木/代码

四、解题思路

  • 输入:1号按键 开始、2号按键 停止;声音量。
  • 输出:点阵列高 + 文件;LED 表示是否在录。
  • 生活对照:录音笔的开始/停止键。
  • 验证现象:不按 1号按键 不会写文件;开始后柱在动;2号按键 后 LED 灭、文件关闭。

本课主要用到:声音传感、点阵屏、文件、LED、按键。

  1. 1明确任务「自由录音」:可开始、可停止。
  2. 2else 分支里等 1号按键:置计数、开始录音、开灯、open。
  3. 3if 开始录音:映射、画柱、write、超 1000 或 2号按键 则 close。
  4. 4载入后先确认没按键时不写文件。

流程示意(可对照左侧文字)

任务:自由录音else 分支里等 1号按键if 开始录音:映射、画柱、write、超 1000 或 2号按键 则 运行后对照现象

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
调用函数
函数执行已定义的函数。本课体验与完整代码都未单独调用函数;开始/停止写在主循环。载入后可在工具箱对照。
跳出/继续循环
控制break 结束循环,或 continue 进入下一轮。本课示例用开关变量停录,没有 break。载入后可在工具箱对照。

六、知识点讲解

自由录音让你用两颗键当录音笔:1号按键 开始、2号按键 停止,灯亮表示正在录,点阵仍把音量画成柱状,同时写入文件;录满或手动停止后关闭文件。状态旗「开始录音」:和秒表的「开始」一样:为真才采样、画屏、write。1号按键 置真并 open 文件、计数清零、灯亮;2号按键 置假、close、灯灭。主循环每圈先看旗,再决定走哪条分支。长度上限:「录音计数 > 1000」自动停录,避免文件无限变长、板子写爆。手动停止与自动停录都要走到 close,否则下次 open 会出问题。画屏与写盘用同一映射:soundlevel 映射成柱高 d,点阵按 d 点亮,同时 write(str(d))。看见的和记下的是同一个数,重现时才对得上。

对照与过关:开始录之前才 open;已经在录时不要再次 1号按键 打开同一个文件覆盖掉前半段(除非你故意重录)。跳出/继续循环、调用函数出现在完整示例里,用来把「采样一拍」收成一块,主循环只负责按键与状态。1号按键 灯亮并出柱状图,2号按键 或满 1000 后灯灭且文件可打开;能讲清旗变量何时为真。先排好「开始录 / 正在录 / 停止并关闭」三态,再进编程练习对照按键与灯。

七、编程练习

点「载入」打开 MixVM(board=mini_design)。默认图形化积木;起步程序与积木均来自 MixGo MINI 兴趣课程/学期2。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

兴趣课程:3-4-1 自由录音.mix。载入后运行。

八、课堂练习

先完成两道判断题,再完成选择题;全部选定后点「检查」。

  1. 判断:程序一运行就应立刻 open 文件并开始录音。

  2. 判断:录音计数超过 1000 也会把「开始录音」置假,避免文件无限变长。

  3. 1号按键 按下时应做的是?

  4. 正在录音时 2号按键 的作用是?

九、本节小结

本课主题是自由录音:用「开始录音」开关:1号按键打开文件并置真,为真时才采样;2号按键或超 1000 条则关闭。体验程序按1号按键开始;完整程序能按2号按键停止,文件只在录音期间写入。