Как сделать так, чтобы моя функция не останавливалась после speak?

Вообщем, я делаю голосового ассистента, и что логично, он должен говорить. Сделал я это с помощью pyttsx3.

def speak(what):
    print( what )
    speak_engine.say( what )
    speak_engine.runAndWait()
    speak_engine.stop()

функция работает хорошо в основном блоке кода, но при попадения в другую функцию (в моём случае execute_cmd) после выполнения ничего не происходит, по дебаггеру проверил что код больше никуда не двигается. (одна из частей execute_cmd)

def execute_cmd(cmd, voice):
    global finished
    finished = False
    if cmd == 'ctime':
        now = datetime.datetime.now()
        hours = str(now.hour)
        minutes = str(now.minute)
        if (now.minute < 10): minutes = '0' + minutes
        speak("Сейчас " + hours + ":" + minutes)
        finished = True

finished всегда будет False, после speak("Сейчас " + hours + ":" + minutes) ничего не происходит.

Обьясните непонимающему человеку, почему?


Ответы (0 шт):