You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

micro:bit麦克风使用故障:input.sound_level()报AttributeError错误

解决micro:bit Mu编辑器中input.sound_level()的AttributeError问题

错误原因分析

你遇到的AttributeError: 'function' object has no attribute 'sound_level'是因为Mu编辑器使用的micro:bit Python API版本与官网编辑器不一致:

  • 官网编辑器默认适配较新的micro:bit V2 API,支持input.sound_level()方法;
  • 旧版Mu编辑器绑定的是早期API,此时获取声音等级需要通过microphone模块调用,而非input模块。
    另外你的代码存在一处小问题:display.scroll(str(input.sound_level))里的input.sound_level是函数对象,直接转字符串会显示函数的内存地址,而非实际声音数值,应该调用函数input.sound_level()或使用已赋值的sound_level变量。

修复方案

方案1:适配旧版Mu编辑器(兼容micro:bit V2)

如果你的设备是micro:bit V2,修改代码使用microphone模块调用接口:

from microbit import *
import time

sound_level = 0

while True:
    sound_level = microphone.sound_level()
    display.scroll(str(sound_level))
    time.sleep(1)

方案2:更新Mu编辑器的micro:bit固件

若想继续使用input.sound_level(),可通过更新固件让Mu编辑器适配新版API:

  • 打开Mu编辑器,点击工具栏「Flash」按钮旁的下拉菜单,选择「Update Microbit Firmware」;
  • 按照提示将micro:bit连接电脑,完成固件更新后重新烧录代码。

效果验证

修改后的代码烧录完成后,micro:bit的LED会每秒滚动显示0-255区间内的声音等级数值,与官网编辑器的运行效果一致。

内容的提问来源于stack exchange,提问作者TodGuess

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 18:22:08