在OSX上发言后,Pyttsx在runAndWait()中挂起

时间:2016-08-27 17:19:43

标签: python macos pyttsx

我最近在Python 2.7中使用Pyttsx来处理我正在做的项目,但是在完成讲话后程序挂起并且不会继续。

这是我的代码:

import pyttsx

engine = pyttsx.init()

engine.say("Hello world.")
engine.runAndWait()

运行engine.runAndWait()后,它不会运行任何其他内容并挂起而不返回任何内容。之后我尝试添加打印件,但它没有打印任何东西。

这对其他人来说是否常见,是否有解决方法?如果没有,那么有一个很好的选择吗? (除谷歌TTS外)

谢谢!

--------- -------- EXTRA 我使用Mac OS Pro和OS X El Capitan 10.11.4

3 个答案:

答案 0 :(得分:0)

这是pyttsx中的一个错误,你必须等到它被解决

https://github.com/RapidWareTech/pyttsx/issues/26

答案 1 :(得分:0)

要解决这个问题, 1-为pyttsx3创建一个类; 2-创建类的实例,将文本发送给它,然后del()它。 3-多次重复步骤2。

班级:

import pyttsx3

class _TTS:

    engine = None
    rate = None
    def __init__(self):
        self.engine = pyttsx3.init()


    def start(self,text_):
        self.engine.say(text_)
        self.engine.runAndWait()

实例:

 tts = _TTS()
 tts.start("text")
 del(tts)

答案 2 :(得分:0)

此问题已在 pyttsx3 中解决。

!pip install pyttsx3

import pyttsx3 as p
text = "The issue has been resolved"
p.speak(text)