Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему сначала распознаётся речь, а потом открывается окно?

IrbisPro Мастер (2319), на голосовании 2 месяца назад
 import tkinter as tk 
from tkinter import Label
from PIL import Image, ImageTk

import speech_recognition as sr

root = tk.Tk()
root.wm_attributes("-topmost",1)
root.attributes('-fullscreen', True)
root.configure(background='white')
root.resizable(0,0)
root.title("I am so scary")

# root.overrideredirect(True)

root.configure(background='white')

root.wm_attributes("-transparentcolor", "white")

img = ImageTk.PhotoImage(file='files/1.png')
imgLabel = Label(root, image=img, borderwidth=0, bg='white')
imgLabel.place(relx = 0.5, rely = 0.6, anchor = 'center')

label = tk.Label(root, text="привет! какие ваши пожелания?", fg='#41004D')
label.configure(background='white')
label.config(font=("Courier", 25))
label.place(relx = 0.5, rely = 0.3, anchor = 'center')



mic = sr.Microphone(device_index=1)

r = sr.Recognizer()
def listen():
with mic as source:
print("введите комманду")
audio = r.listen(source)

command = r.recognize_google(audio,language="ru-RU")
print("ваша комманда: " + command)
listen()

root.mainloop()
Голосование за лучший ответ
damn Просветленный (47228) 3 месяца назад
Если хочешь, чтобы окно открывалось после распознавания речи, то нужно вынести вызов root.mainloop() после функции listen(). Но если хочешь, чтобы распознавание речи происходило в реальном времени, нужно будет использовать асинхронные или многопоточные подходы, чтобы не блокировать главный цикл обработки событий.
IrbisProМастер (2319) 3 месяца назад
мне нужно, чтобы сначала открывалось окно, потом распознавалась речь, и если речь будет равна определённому тексту, выполнялось какое-то действие, например, открывалась картинка. напиши, пожалуйста, исправленную версию
damn Просветленный (47228) Я думаю... Можно попробовать добавить функцию check_command, которая будет вызываться после распознавания речи и проверять, соответствует ли распознанный текст определенному условию. Если условие выполняется, будет выполнено нужное действие, например, отображение другой картинки. Код сюда не влезает, вот на файлообменнике: https://dropmefiles.com/PHK8B Попробуй, авось поможет. Код я просто насобирал кусочками с разных сайтов.
Похожие вопросы