Python调用sr.Microphone时出现OSError: [Errno -9999]未预期主机错误如何解决
Python语音识别OSError: [Errno -9999] Unanticipated host error 解决方案
该错误由pyaudio调用麦克风设备时的主机侧异常触发,可按以下顺序排查解决:
- 检查麦克风系统权限
Windows系统进入「设置>隐私和安全性>麦克风」,开启「允许应用访问麦克风」总开关,同时确认当前运行Python脚本的终端/IDE有麦克风访问权限。 - 释放麦克风占用
关闭所有正在占用麦克风的软件,包括通话类、录音类、直播类应用,再重新运行脚本。 - 显式指定麦克风设备ID
当设备连接了多个麦克风时,默认调用的设备不可用会触发该错误,先运行以下代码打印所有可用麦克风设备:
找到目标麦克风对应的ID后,修改原代码的调用逻辑:import speech_recognition as sr for index, name in enumerate(sr.Microphone.list_microphone_names()): print(f"麦克风ID {index}: {name}")# 将下方device_index参数值替换为你查询到的对应ID with sr.Microphone(device_index=1) as source: - 修复依赖适配问题
若上述方案无效,大概率是pyaudio版本和当前Python、系统版本不兼容,先卸载原有pyaudio:
Windows平台推荐使用pipwin安装适配版本:pip uninstall pyaudiopip install pipwin pipwin install pyaudio - 排查虚拟环境问题
如果在虚拟环境中运行脚本,确认虚拟环境内已正确安装SpeechRecognition和pyaudio依赖,无和全局环境的包冲突问题。
内容的提问来源于stack exchange,提问作者kartik56
相关产品推荐
相关产品推荐

