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

Python语音识别运行报listen()缺失source位置参数如何解决

错误成因

你代码的核心问题出在takeCommand函数中对Recognizer的调用行:r = sr.Recognizer,你没有加括号完成类的实例化,只是把Recognizer类本身赋值给了变量r,而非创建该类的实例对象。

speech_recognition库的listen是Recognizer类的实例方法,方法定义的第一个参数为实例本身(即约定的self参数),第二个参数才是source。当你用实例对象调用listen时,self会由Python自动传入,无需手动传递;但你直接用类本身调用listen时,你传入的source会被识别为第一个self参数,方法要求的第二个位置参数source就缺少传值,因此抛出对应的报错。

解决方法

只需要修改实例化Recognizer的代码行,补充括号完成类实例化即可:

# 原错误代码
# r = sr.Recognizer
# 修改后代码
r = sr.Recognizer()

修改后重新运行代码即可正常调用麦克风收音,不会再报参数缺失的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:15:02