Я пытаюсь создать простую программу, которая зацикливается на вводе речи пользователем, используя com.apple.speech.recognitionserver. Мой код на данный момент выглядит следующим образом:
set user_response to "start"
repeat while user_response is not equal to "Exit"
tell application id "com.apple.speech.recognitionserver"
set user_response to listen for {"Time", "Weather", "Exit"} with prompt
"Good Morning"
end tell
if user_response = "Time" then
set curr_time to time string of (the current date)
set curr_day to weekday of (the current date)
say "It is"
say curr_time
say "on"
say curr_day
say "day"
else if user_response = "Weather" then
say "It is hot outside. What do you expect?"
end if
end repeat
say "Have a good day"
Если вышеперечисленное выполняется в моей системе, то появляется «Доброе утро», а затем появляется система ввода речи и ожидает «Время», «Погода» или «Выход». Все они делают то, что, как они говорят, собираются сделать, но вместо того, чтобы повторять цикл, если я говорю «Время и погода», и спрашивать снова, пока я не скажу, что выход из речевого сервера истекает и больше не появляется. Есть ли способ сохранить это приложение открытым до тех пор, пока программа не закроется, или же appleScript не может зацикливаться для ввода речи пользователем?