【问题标题】:UI Freezes when speech_recognition runs on button click当 Speech_recognition 在按钮单击时运行时 UI 冻结
【发布时间】:2019-11-20 19:31:30
【问题描述】:

我创建了一个 python 文件,当单击开始时,麦克风应该工作并开始说话,如果我停止它应该将语音转换为文本并将其添加到文本框中,但每次我单击开始时应用程序崩溃!

import tkinter as tk
import speech_recognition as sr


window = tk.Tk()
window.title("Voice to Text")
window.geometry("300x300")


def startvoice():
    r = sr.Recognizer()
    with sr.Microphone() as source:
        try:
            audio = r.record(source)
            voice2text = r.recognize_google(audio)
            text_field.focus()
            text_field.delete()
            text_field.insert(0, voice2text)
        except:
            print("error")


button1 = tk.Button(text="Start", width=16, command=startvoice)
button1.grid(column=0, row=0)

text_field = tk.Text(master=window, height=20, width=40)
text_field.grid(column=0, row=1)


window.mainloop()

【问题讨论】:

  • 如何定义“崩溃”?它是否抛出错误,如果是,错误是什么?
  • @BryanOakley,当我单击“开始”按钮时打开的窗口它停止并开始加载我需要强制退出
  • 所以,它不是崩溃,而是冻结。 r.record(source) 怎么知道什么时候应该停止录制?

标签: python tkinter onclick speech-recognition speech-to-text


【解决方案1】:

您需要在单独的线程中运行r.record(source) 及以下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    相关资源
    最近更新 更多