试图用tkinter gui停止Python语音识别循环

> 世界,您好,

我目前正在构建一个机器人(ApplePI),当然,为了与我交谈,它需要语音识别(SR)。 到目前为止,Python SR可以正常工作,但是我想通过带有图片更改按钮的GUI来启动它。 按钮将颜色形式从蓝色(开始收听)更改为红色(停止收听)。

Im on Linux(Raspberry PI),带有Tkinter的GUI和Python 3

现在,一旦出现问题,单击蓝色按钮,聆听功能(“ zuhoeren”)就会启动,并打印出我所说的内容。如果我再次按下该按钮,则会引发错误消息,提示找不到麦克风。 我知道该按钮不会变成红色,因为它仍处于收听循环中。 而且我也知道会发生此错误,因为当麦克风要开始新的收听循环时,我正在“试听”语音识别程序。

解决方案是将侦听循环放入线程中,以便按钮变为红色。 一旦我按下红色按钮,该线程就需要终止,但是在此之前,必须告知语音识别程序在当前运行循环之后停止。我尝试了许多不同的解决方案,但似乎没有任何效果。有一个叫做stop_listening = r.listen_in_background(mic,aufnahme_start)的函数,但是它没有满足我的要求。

请帮助我,该机器人对我的孩子们来说是一个教育性的机器人,我的女儿很乐意通过按一下按钮与之交谈,但我似乎无法弄清楚。

https://stackoverflow.com/questions/14666740/receive-data-on-socket-in-time-wait-state
https://stackoverflow.com/questions/35006324/time-wait-with-boost-asio
https://stackoverflow.com/questions/47528798/closing-socket-cause-time-wait-pending-state
iceman4019 回答:试图用tkinter gui停止Python语音识别循环

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3054870.html

大家都在问