官方语音识别合成文档中的示例ActivityMiniReog有调用的param但没有从String(data, offset, length)中获取到结果显示在textView中,刚接触android编程想让各位大虾帮帮忙,咋样调取json中的最终结果,感谢
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
我弄得语音唤醒和语音识别存在冲突,不知道什么原因,希望你给我指点一下迷津
开发好的什么?你这个就很好了啊...已经识别出来了拿到结果了啊
嗯,后面才发现的,大哥,有没有开发好的,我看看,这几天集成弄得蒙了
....刷多了...有时候可能系统卡了...慢点.
if (name.equals(SpeechConstant.CALLBACK_EVENT_ASR_PARTIAL)) {
if (params.contains("\"final_result\"")) {
try {
JSONObject json = new JSONObject(params);
String result = json.getString("best_result");
logTxt += ", 语义解析结果:" + result;
} catch (JSONException e) {
throw new AndroidRuntimeException(e);
}
} else if (data != null) {
logTxt += " ;data length=" + data.length;
}
printLog(logTxt);
}
谢谢,非常感谢,这就是答案;也希望刚开始学习的少点弯路
json的转换要try起来的...这提示已经很明显了哈.
if (name.equals(SpeechConstant.CALLBACK_EVENT_ASR_PARTIAL)) {
if (params.contains("\"nln_result\"")) {
JSONObject rgjson = new JSONObject(params);
result=rgjson.getString("best_result");
logTxt += ", 语义解析结果:" + result;
我改成这样以后
提示错误:Error:(135, 37) 错误: 未报告的异常错误JSONException; 必须对其进行捕获或声明以便抛出
这就是个json 的对象.
JSONObject rgjson = new JSONObject(params);
rgjson.getString("best_result");
这样就好了.
if (name.equals(SpeechConstant.CALLBACK_EVENT_ASR_PARTIAL)) {
if (params.contains("\"nlu_result\"")) {
if (length > 0 && data.length > 0) {
logTxt += ", 语义解析结果:" + new String(data, offset, length);
这是demo的逻辑但是我用断点调试了length和data都是null所以没有输出
params的格式 是params :{"result_type":"final_result","best_result":"hello","results_recognition":["hello"],"origin_result":{"result":{"word":["hello"]},但我不会取值,希望大侠们棒棒忙,在此谢谢了
demo的就没有结果只调取了params并在log上显示了一下,没有在texResult中显示出来我也不会调用params中的数据,所以想让大侠帮忙一下
demo的就没有结果只调取了params并在log上显示了一下,没有在texResult中显示出来我也不会调用params中的数据,所以想让大侠帮忙一下
先按demo的文档跑起来了吗?
按我的经验,如果手机没有联网的话,经常会识别不出结果。另外,看看param中有没有错误。建议最好把param抓取一下看看