我有以下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位应用程序。

10-06 10:55