加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 语音识别不能正常工作

发布时间:2020-12-14 17:23:40 所属栏目:百科 来源:网络整理
导读:我正在尝试在Mac xcode项目上实现语音识别功能.我正在使用NSSpeechRecognizer类.当我使用以下代码运行项目时,我得到一个带有消息的窗口: 要使用语音识别功能,需要下载0字节 下载完成后,您可能需要再次退出并打开项目 我按下下载按钮,退出并打开项目,但没有
我正在尝试在Mac xcode项目上实现语音识别功能.我正在使用NSSpeechRecognizer类.当我使用以下代码运行项目时,我得到一个带有消息的窗口:
要使用语音识别功能,需要下载0字节
下载完成后,您可能需要再次退出并打开项目
我按下下载按钮,退出并打开项目,但没有任何变化,当我运行项目时,我得到相同的窗口,语音识别不起作用.我真的很感激任何帮助.先感谢您

-(void)awakeFromNib
{
NSArray *cmds = [NSArray arrayWithObjects:@"Sing",@"Jump",@"Roll over",nil];
recog = [[NSSpeechRecognizer alloc] init]; // recog is an ivar
[recog setCommands:cmds];
[recog setDelegate:self];
}
- (IBAction)listen:(id)sender
{
if ([sender state] == NSOnState) { // listen
[recog startListening];
} else {
[recog stopListening];
}
}
- (void)speechRecognizer:(NSSpeechRecognizer *)sender didRecognizeCommand:
(id)aCmd
{
if ([(NSString *)aCmd isEqualToString:@"Sing"]) {
NSSound *snd = [[NSSound alloc] initWithContentsOfFile:[[NSBundle mainBundle] 
pathForResource:@"HappyBirthday" ofType:@"aif"] byReference:NO];
[snd play];
return;
}
if ([(NSString *)aCmd isEqualToString:@"Jump"]) {
return;
}
if ([(NSString *)aCmd isEqualToString:@"Roll over"]) {
}
}

解决方法

转到系统偏好设置>听写与语音,将听写设置为开,然后选择“使用增强的听写”.在下载听写数据后,NSSpeechRecognizer应该成功初始化.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读