嗨我正在使用语音合成在Mac上进行实验,并且我总是将while循环放在我的程序中,以便我可以使用它们直到我决定停止,并且使用此代码重复“您希望我说什么?同时它说了我所说的任何话。如何让Python等到前一个任务完成?
from Cocoa import NSSpeechSynthesizer
while 1==1
sp = NSSpeechSynthesizer.alloc().initWithVoice_(None)
sp.startSpeakingString_("What would you like me to say?")
say_1 = raw_input("What would you like me to say?")
sp.startSpeakingString_(say_1)
有人可以告诉我如何告诉python等待,直到它说完我告诉它什么?
那么这取决于什么'sp.startSpeaking'呢? NSSpeechSynthesizer的责任似乎比Python本身更重要。那个类没有类似'sp.waitUntilIsSaid'的方法吗? –
我无法测试它,所以我不会让它成为答案,但请查看API中的实例方法'isSpeaking'(https://developer.apple.com/library/mac/documentation/Cocoa/参考/ ApplicationKit /类/ NSSpeechSynthesizer_Class/Reference/Reference.html#jumpTo_12)似乎你可以循环,直到_it不speaking_。这样你可以等待它完成。 –
@PauloBu这篇文档对Python的使用非常不清楚。你对我如何使用它有任何想法吗? – user3151828