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

Python语音识别输入功能如何添加10秒计时限制

语音输入添加10秒计时限制实现方案

speech_recognition 库的listen()方法内置了时间控制参数,无需额外实现定时器逻辑,可直接满足需求:

  • phrase_time_limit 参数:指定语音开始录制后的最大时长,单位为秒,设置为10即可实现最多录制10秒语音的效果
  • timeout 参数(可选):指定等待语音输入开始的最大时长,超出后抛出超时异常,避免程序无限等待

你提供的原始代码存在导入不完整的问题,修正后的完整可运行代码如下:

import speech_recognition as sr

# 初始化识别器
r = sr.Recognizer()

# 调用麦克风
with sr.Microphone() as source:
    # 校准环境噪音,提升识别准确率
    r.adjust_for_ambient_noise(source)
    # 循环监听,你可以根据需求修改循环终止条件
    while True:
        print('请说话')
        try:
            # 核心配置:等待语音输入超时5秒,最长录制10秒
            audio = r.listen(source, timeout=5, phrase_time_limit=10)
            # 如需识别中文,添加language='zh-CN'参数,默认识别英文
            query = r.recognize_google(audio, language='zh-CN')
            print(f"识别结果:{query}")
        except sr.WaitTimeoutError:
            print("等待超时,未检测到语音输入")
        except sr.UnknownValueError:
            print("无法识别当前语音内容")
        except sr.RequestError:
            print("语音识别服务请求失败,请检查网络连接")

如果你的需求是「从调用监听开始无论是否检测到语音,10秒后都强制停止」,可以额外引入threading定时器实现,不过绝大多数场景下上述内置参数已经足够使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:45:02