0

我想在一个类中从 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()
4

1 回答 1

1

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

x = TTSengine()
x.engine.say('I am ok')
x.engine.runAndWait()
于 2017-05-14T17:33:55.350 回答