Несколько дней борюсь над проблемой: используя speech_recognition от google, команда записи и вывода сказанного пользователем, ныне функция On_VoiceAssistent, выполняется раньше команды создать и удалить кнопку, ныне функция On_Assistent. Пытался разрешить разными путями. Ниже, к примеру, до создания-уничтожения кнопок ставлю значение проверяющей переменной False, после -- True, но это тоже не работает. Пожалуйста, помогите идеями.
def On_VoiceAssistent(self):
try:
while config.Check_On_VoiceAssistent == True:
r = sr.Recognizer()
with sr.Microphone(device_index=1) as sourse:
audio = r.listen(sourse)
query = r.recognize_google(audio, language="ru-RU")
print(query.lower())
print(query)
except sr.UnknownValueError:
print ("ne ponyal")
self.On_VoiceAssistent()
def On_Assistent(self, event):
config.Check_On_VoiceAssistent = False
config.Btn_Off_Assistent = wx.Button(self, -1, label="Выключить")
self.Bind(wx.EVT_BUTTON, self.Off_Assistent, config.Btn_Off_Assistent)
config.Btn_On_Assistent.Destroy()
config.Check_On_VoiceAssistent = True
if config.Check_On_VoiceAssistent == True: self.On_VoiceAssistent()
Иное представление:
def On_Assistent(self, event):
config.Btn_Off_Assistent = wx.Button(self, -1, label="Выключить")
self.Bind(wx.EVT_BUTTON, self.Off_Assistent, config.Btn_Off_Assistent)
config.Btn_On_Assistent.Destroy()
config.Check_On_VoiceAssistent = True
try:
while config.Check_On_VoiceAssistent == True:
r = sr.Recognizer()
with sr.Microphone(device_index=1) as sourse:
audio = r.listen(sourse)
query = r.recognize_google(audio, language="ru-RU")
print(query.lower())
print(query)
except sr.UnknownValueError:
print ("ne ponyal")
self.On_VoiceAssistent()