objective-c - NSSpeechSynthesizer 委托(delegate)方法总是报告错误,但是是哪一个呢?

标签 objective-c cocoa delegates

我有以下 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/

相关文章:

iphone - 使用 AFJSONRequestOperation

objective-c - 当 [NSBundle loadNibName : owner:]? 加载 Nib 文件时,如何获取指向 Nib 文件中 NSPanel 对象的指针

objective-c - 如何创建带有预览的打印对话框以打印图像文件

iphone - 如何根据时间取消 UILocalNotification

iPhone SDK 快速引用

objective-c - 在我可以使用我的方法本地 NSOpenSavePanelDelegate 之前,ARC 会杀死它。有解决办法吗?

asp.net - 我可以获得有关 JavaScript 委托(delegate)的一些建议吗?

objective-c - 如何使用 Gdata for iOS App 将视频从私有(private)视频更改为公共(public) YouTube API

ios - 如何在 UITableView Cell 中实现类似 iOS Mail 的从左向右滑动

ios5 - 如何在 iOS 5 中使用委托(delegate)