如何从类中启动pyttsx的实例?

时间:2017-01-04 19:25:19

标签: python-2.7 class initialization text-to-speech pyttsx

我想从类中的pyttsx创建一个实例,并有一个设置函数来改变语速。但 init 无法正常工作,因为它提供了以下错误消息:

AttributeError: TTSengine instance has no attribute 'say'

从我的代码:

import pyttsx

class TTSengine():
    def __init__(self):
        self.engine = pyttsx.init()
    def settings(self):
        self.rate = self.engine.getProperty('rate')
        self.engine.setProperty('rate', self.rate-50)

y = pyttsx.init()
print y
y.say('I am ok')
y.runAndWait()

x = TTSengine()
print x
x.say('I am ok')
x.runAndWait()

1 个答案:

答案 0 :(得分:1)

你的班级本身没有说法功能。你的类有一个pyttsx引擎作为成员变量,所以以下应该有效:

x = TTSengine()
x.engine.say('I am ok')
x.engine.runAndWait()