2017-01-04 6 views
0

나는 클래스 내부에서 pyttsx로부터 인스턴스를 만들고, 스피치 레이트를 변경하는 설정 함수를 갖고 싶다. 그러나 초기화는 다음과 같은 오류 메시지가 제공으로 제대로 작동하지 않는 :클래스 내에서 pyttsx 인스턴스를 초기화하는 방법은 무엇입니까?

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()