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

使用Speech Recognition库遇权限拒绝与ffmpeg错误求助

解决speech_recognition调用whisper时的权限拒绝错误

报错核心是系统临时目录的WAV文件无法访问,大概率是系统Temp目录权限受限或第三方软件拦截,以下是几种可行的解决方法:

1. 手动指定自定义临时目录(推荐)

在项目目录下创建一个完全可控的临时文件夹,将音频文件保存到该目录后再传给whisper,绕过系统Temp的权限问题。修改后的代码如下:

import speech_recognition as sr
import os

r = sr.Recognizer()
# 创建项目内的临时目录(不存在则自动创建)
temp_dir = os.path.join(os.getcwd(), "audio_temp")
os.makedirs(temp_dir, exist_ok=True)

with sr.Microphone() as source:
    print("Say something!")
    try:
        audio = r.listen(source, timeout=5) 
    except sr.WaitTimeoutError:
        print("You didn't say anything")
        exit()

    # 将录制的音频保存到自定义临时目录
    temp_audio_path = os.path.join(temp_dir, "temp_recording.wav")
    with open(temp_audio_path, "wb") as f:
        f.write(audio.get_wav_data())

    # 传入自定义路径的音频文件进行识别
    print("Did you say " + r.recognize_whisper(temp_audio_path))

2. 检查系统临时目录权限

打开C:\Users\s\AppData\Local\Temp文件夹,右键选择「属性」→「安全」标签页,确认当前用户(s)拥有读取、写入、修改权限。如果权限缺失,点击「编辑」按钮为当前用户添加对应权限。

3. 以管理员身份运行脚本

右键点击Python解释器、命令提示符或你的代码编辑器(如VSCode),选择「以管理员身份运行」,再执行脚本,尝试绕过系统权限限制。

4. 排查杀毒软件拦截

部分杀毒软件会限制程序访问系统临时目录,临时关闭杀毒软件后重新运行脚本。如果问题解决,将Python程序或项目目录添加到杀毒软件的信任列表中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:01:00