多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
**注:在线语法识别服务已下线,新用户无法使用。** ~~~ //1.创建SpeechRecognizer对象 SpeechRecognizer mAsr = SpeechRecognizer.createRecognizer( ); // ABNF语法示例,可以说”北京到上海” String mCloudGrammar = "#ABNF 1.0 UTF-8; languagezh-CN; mode voice; root $main; $main = $place1 到$place2 ; $place1 = 北京 | 武汉 | 南京 | 天津 | 天京 | 东京; $place2 = 上海 | 合肥; "; //2.构建语法文件 mAsr.setParameter(SpeechConstant.TEXT_ENCODING, "utf-8"); ret = mAsr.buildGrammar("abnf", mCloudGrammar , grammarListener); if (ret != ErrorCode.SUCCESS){ DebugLog.Log("语法构建失败,错误码:" + ret); }else{ DebugLog.Log("语法构建成功"); } //3.开始识别,设置引擎类型为云端 mAsr.setParameter(SpeechConstant.ENGINE_TYPE, "cloud"); //设置grammarId mAsr.setParameter(SpeechConstant.CLOUD_GRAMMAR, grammarId); mAsr.startListening(mRecognizerListener); if (ret != ErrorCode.SUCCESS) { DebugLog.Log("识别失败,错误码: " + ret); } //构建语法监听器 private GrammarListener grammarListener = new GrammarListener() { @Override public void onBuildFinish(String grammarId, SpeechError error) { if(error == null && !TextUtils.isEmpty(grammarId) ){ //构建语法成功,请保存grammarId用于识别 }else{ DebugLog.Log("语法构建失败,错误码:" + error.getErrorCode()); } } }; ~~~