我注意到 ADC 库中的 NSSpeechRecognizer 并且我发现它非常有趣,所以为了使用它,我准备了一个简单的应用程序,它只会监听命令,如果识别它会在日志中显示它。
使用的代码是:
- (id)init {
if (self = [super init]) {
// Insert code here to initialize your application
NSArray *cmds = [NSArray arrayWithObjects:@"A",@"B", @"C",@"alpha",@"beta",@"vodka",@"wine",nil];
recog = [[NSSpeechRecognizer alloc] init]; // recog is an ivar
[recog setCommands:cmds];
[recog setDelegate:self];
}
return self;
}
- (IBAction)listen:(id)sender
{ NSLog(@"listen:");
if ([sender state] == NSOnState) { // listen
[recog startListening];
} else {
[recog stopListening];
}
}
- (void)speechRecognizer:(NSSpeechRecognizer *)sender didRecognizeCommand:(id)aCmd {
NSLog(@"speechRecognizer: %@",(NSString *)aCmd);
}
我为注册的命令尝试了很多次,但在委托中我无法在日志中获得任何消息:(
背景中总是有一些噪音..这可能是原因还是我在代码中做错了什么?
谁能建议我一些解决方案?
谢谢,
米拉杰