Как инициировать экземпляр 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 ответ
У вашего класса нет функции "сказать". Ваш класс имеет в качестве переменной-члена движок pyttsx, поэтому должно работать следующее:
x = TTSengine()
x.engine.say('I am ok')
x.engine.runAndWait()