2

我最近考虑在 Python 2.7 中为我正在做的项目使用 Pyttsx,但是在它说完之后程序挂起并且不会继续。

这是我的代码:

import pyttsx

engine = pyttsx.init()

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

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

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

谢谢!

---------EXTRA-------- 我使用带有 OS X El Capitan 10.11.4 的 Macbook Pro

4

3 回答 3

1

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

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

于 2016-12-27T14:16:48.407 回答
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)
于 2018-06-18T12:21:15.100 回答
0

此问题已在 pyttsx3 中解决。

!pip install pyttsx3

import pyttsx3 as p
text = "The issue has been resolved"
p.speak(text)
于 2021-03-11T19:43:51.900 回答