运行百度语音识别官方iOS demo报错: load offline engine failed: 4001
运行官方BDVRClientSample这个demo(ios版的),demo可以安到手机上,但是点“识别UI”那个按钮后“授权验证失败”。
如果点“语音识别”那个按钮,控制台输出:2015-10-23 14:26:23.900 BDVRClientSample[3016:1654910] load offline engine failed: 4001
怀疑是license的问题,在文档中看到:
int ret = [[BDVoiceRecognitionClient sharedInstance] loadOfflineEngine:@”appCode”
license: @” 授权文件路径”
datFile: @” s_1 的文件路径” LMDatFile: LMDatFilePath grammSlot: recogGrammSlot];
然后我看sample的代码里写的是:
因此开始我还以为是因为license写nil导致的问题。后来发现不是(虽然本帖中的问题不是由于license填nil造成的,但如果想使用离线识别的话,license确实需要传一个正确的路径才行,见:http://www.cnblogs.com/wantnon/p/4915028.html。如果不需要离线识别功能,为包体积考虑,应将相应资源删除,见:http://www.cnblogs.com/wantnon/p/4915078.html)。问题出在没有提交应用的BundleID,提交应用BundleID的方法如下:
1,进入到“应用管理”。
2,点开“管理语音识别”的下拉菜单,选择其中的“申请离线识别授权”。
3,在弹出的“申请离线识别授权”面板中选iOS,填写BundleID,然后点“提交”。
如图所示:
然后再将sample工程的BundleID改成这里填写的BundleID,再运行,就ok了。