// 听写结果回调接口(返回Json格式结果,用户可参见附录12.1); // 一般情况下会通过onResults接口多次返回结果,完整的识别内容是多次结果的累加; // 关于解析Json的代码可参见MscDemo中JsonParser类; // isLast等于true时会话结束。 public void onResult(RecognizerResult results, boolean isLast) { StringBuffer resultBuffer = new StringBuffer(); if (results != null) { String text = JsonParser.parseIatResult(results.getResultString()); String sn = null; // 读取json结果中的sn字段 try { JSONObject resultJson = new JSONObject(results.getResultString()); sn = resultJson.optString("sn"); } catch (JSONException e) { e.printStackTrace(); } mIatResults.put(sn, text); for (String key : mIatResults.keySet()) { resultBuffer.append(mIatResults.get(key)); } } if (isLast && mListener != null) { mListener.onParseString(resultBuffer.toString()); } }
// 结束录音 public void onEndOfSpeech() { if (mListener != null) { mListener.onEndOfSpeech(); } }
// 会话发生错误回调接口 public void onError(SpeechError error) { error.getPlainDescription(true); // 获取错误码描述 if (mListener != null) { mListener.onError(); } }