我有以下NSSpeechSynthesizer委托方法:
- (void) speechSynthesizer:(NSSpeechSynthesizer *)sender didFinishSpeaking:(BOOL) success {
NSLog(@"Finished correctly = %d", success);
[startButton setEnabled:YES];
[stopButton setEnabled:NO];
}
即使我听到的一切都很完美,参数“成功”始终为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位应用程序。