J'essaye de créer un programme simple qui boucle pour l'entrée de voix d'utilisateur en utilisant com.apple.speech.recognitionserver. Mon code est donc ce qui suit:Le serveur de reconnaissance vocale ne reste pas ouvert
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"
Si l'est exécuté au-dessus sur mon système, il dit bonjour et il apparaît alors avec le système d'entrée de la parole et attend soit heure, la météo ou la sortie. Ils font tous ce qu'ils disent qu'ils vont faire, mais au lieu de boucler si je dis Temps et Météo et de demander à nouveau jusqu'à ce que je dis quitter le serveur de discours fois et ne ressuscite jamais. Y a-t-il un moyen de garder cette application ouverte jusqu'à la fin du programme ou est-ce que l'applescript n'est pas capable de faire une boucle pour l'entrée vocale de l'utilisateur?
Un délai d'environ 5 secondes entre la première répétition et le tell a parfaitement fonctionné. Je vous remercie. – Waffle