2010-10-28 23 views
1

我有以下的委託方法NSSpeechSynthesizer:NSSpeechSynthesizer委託方法總是報告一個錯誤,但是哪一個?

- (void) speechSynthesizer:(NSSpeechSynthesizer *)sender didFinishSpeaking:(BOOL) success { 
    NSLog(@"Finished correctly = %d", success); 
    [startButton setEnabled:YES]; 
    [stopButton setEnabled:NO]; 
} 

參數「成功」始終是NO,即使我聽到的一切完美。有沒有辦法獲得更多的信息,並找出究竟出了什麼問題?

回答

3

使用NSSpeechSynthesizer?不可以。使用語音合成管理器?當然可以!

/* Created earlier: SpeechChannel chan; */ 
NSDictionary *errorInfo = nil; 
OSErr err = CopySpeechProperty(chan, kSpeechErrorsProperty, (CFTypeRef *)&errorInfo); 
[errorInfo autorelease]; 

您還可以爲各種錯誤設置錯誤處理程序。有關如何使用語音合成管理器的演示,請參閱Cocoa Speech Synthesis Example。雖然它是一個Carbon API,但它似乎仍然適用於64位應用程序。

相關問題