我有以下 NSSpeechSynthesizer 的委托(delegate)方法:
- (void) speechSynthesizer:(NSSpeechSynthesizer *)sender didFinishSpeaking:(BOOL) success {
NSLog(@"Finished correctly = %d", success);
[startButton setEnabled:YES];
[stopButton setEnabled:NO];
}
参数“成功”始终为“否”,即使我完美地听到了一切。有没有办法获取更多信息并确切找出问题所在?
最佳答案
使用NSSpeechSynthesizer
?否。使用语音合成管理器?当然可以!
/* Created earlier: SpeechChannel chan; */
NSDictionary *errorInfo = nil;
OSErr err = CopySpeechProperty(chan, kSpeechErrorsProperty, (CFTypeRef *)&errorInfo);
[errorInfo autorelease];
您还可以为各种错误设置错误处理程序。请参阅Cocoa Speech Synthesis Example演示如何使用语音合成管理器。虽然它是一个 Carbon API,但它似乎仍然可用于 64 位应用程序。
关于objective-c - NSSpeechSynthesizer 委托(delegate)方法总是报告错误,但是是哪一个呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4047400/