获得最终识别结果
哈哈的我的哈哈 发布于2018-01 浏览:991 回复:7
0
收藏

speechRecognizer = SpeechRecognizer.createSpeechRecognizer(this, new ComponentName(this, VoiceRecognitionService.class));

speechRecognizer.startListening(intent);

通过这种方式怎么获得最终的识别结果呢

收藏
点赞
0
个赞
共7条回复 最后由fujiayi1984回复于2018-01
#8fujiayi1984回复于2018-01

长语音最终回调当前版本有bug,下一版本解决

0
#7哈哈的我的哈哈回复于2018-01

发现是设置长语音的问题,后边这个参数不为0的话,就是60s,是可以回调的

intent.putExtra(SpeechConstant.VAD_ENDPOINT_TIMEOUT, 0);

但是我长语音怎么回调识别结果

0
#6哈哈的我的哈哈回复于2018-01

另外intent设置了一些参数,不知道对回调会什么影响吗

intent.putExtra(SpeechConstant.VAD_ENDPOINT_TIMEOUT, 0);
intent.putExtra(SpeechConstant.SAMPLE_RATE, 16000);
intent.putExtra("language", "cmn−Hans−CN");

intent.putExtra(SpeechConstant.ACCEPT_AUDIO_DATA, true);
intent.putExtra(SpeechConstant.OUT_FILE, pathName);

speechRecognizer.startListening(intent);

0
#5哈哈的我的哈哈回复于2018-01

是按照文档的方式集成的,有错的时候会回调onError方法,录音过程中会回调onRmsChanged这个方法,录音结束会回调onEndOfSpeech这个方法,但是就是不回调这个方法

@Override
public void onResults(Bundle results) {
}

会是什么原因呢

0
#4fujiayi1984回复于2018-01

使用demo和文档的方式集成

0
#3哈哈的我的哈哈回复于2018-01

后台报这个错,不知道是不是这个问题导致的

E/SpeechRecognizer: not connected to the recognition service

0
#2哈哈的我的哈哈回复于2018-01

不回调这个方法

@Override
public void onResults(Bundle results) {
String result = results.getString("origin_result");
Log.i(TAG, result);
}

0
TOP
切换版块