原帖已删除
Ta的回复 :gesangjack: 我使用的服务是: 调用的接口是: 参数设置情况: 开发平台和机型: SDK版本号:2.2.1 在做百度离线识别的时候,调用方式: public void startRecognizer() { Intent intent = new Intent(); Log.e(TAG, BSG_PATH); intent.putExtra("grammar", BSG_PATH); speechRecognizer.startListening(intent); } 在bsg文件内容很少的时候,很快就会走到这个方法 @Override public void onReadyForSpeech(Bundle params) { Toast.makeText(App.getInstance(), "开始说话", Toast.LENGTH_LONG).show(); Log.e(TAG, "准备就绪,可以开始说话"); } ,但是如果bsg文件内容很多的时候,走到 @Override public void onReadyForSpeech(Bundle params) { Toast.makeText(App.getInstance(), "开始说话", Toast.LENGTH_LONG).show(); Log.e(TAG, "准备就绪,可以开始说话"); } 这个方法的时间就很长,这个该如何优化呢。现在bsg文件150k左右,以后可能还会更大。有好的方法优化么? 回复gesangjack: 您好, 2.1版本集成离线(命令词)识别的步骤: 使用语法编辑器编辑语法,http://yuyin.baidu.com/asr#m5,编辑并保存得到baiduspeechgrammar.bsg语法文件(文件名可以随意更改) 将baiduspeechgrammar.bsg文件放置到assets目录 识别参数中增加代码 intent.putExtra("grammar", "assets:///baiduspeechgrammar.bsg") 集成完毕。 您看看这个跟您的操作一致吗?供参考