多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 语法识别 在使用在线语法识别时,如果要使用已经通过官网上传(参考上文)的语法文件,则不需要再设置语法ID参数;而使用离线语法识别时,需要设置本地语法名字(在语法文件中定义)。 **注:在线语法识别服务已下线,新用户无法使用。** ~~~ //设置引擎类型 mAsr.setParameter( SpeechConstant.ENGINE_TYPE, engineType ); if( SpeechConstant.TYPE_LOCAL.equals(engineType) ){ // 设置本地识别资源 mAsr.setParameter(ResourceUtil.ASR_RES_PATH, getResourcePath()); // 设置语法构建路径 mAsr.setParameter(ResourceUtil.GRM_BUILD_PATH, grmPath); // 设置返回结果格式 mAsr.setParameter(SpeechConstant.RESULT_TYPE, mResultType); // 设置本地识别使用语法id mAsr.setParameter(SpeechConstant.LOCAL_GRAMMAR, grammarName ); }else{ //使用网站上传的语法文件时,只明确指定 SUBJECT,不用指定语法ID;使用在应用上传的则相反。 if( usingWebsideGrammar ){ mAsr.setParameter( SpeechConstant.CLOUD_GRAMMAR, null ); mAsr.setParameter( SpeechConstant.SUBJECT, "asr" ); }else{ mAsr.setParameter( SpeechConstant.CLOUD_GRAMMAR, cloudGrammarID ); }//end of if-else using grammar in webside or not }//end of if-else local or not ret = mAsr.startListening( mRecognizerListener ); ~~~ 此外,本地引擎在语法文件构建后,还可以通过更新词典,更新指定规则中的词语,如联系人等,见后面更新词典章节内容。此外,MSC SDK 还提供了录音交互的对话框控件,参考后面识别对话框的内容。