语音识别技术■教你用 Android 做二次开发,识别率达到科大讯飞语音输入水平 | 原力计划( 二 )
本文插图
在启动语音识别模块添加代码
这里的result就是语音转换的结果字符串 , 可以通过iatDialog.setParameter配置语言 , 间隔时间(即多长时间不说话时视为结束)等 , 具体可参考官网文档 。
1private void changeIntoText {23 // ②初始化有交互动画的语音识别器4 iatDialog = new RecognizerDialog(SearchMusicActivity.this, mInitListener);5 //③设置监听 , 实现听写结果的回调6 int a = 1+2;78 iatDialog.setParameter(SpeechConstant.LANGUAGE, "zh_cn");9 iatDialog.setParameter(SpeechConstant.ACCENT, "mandarin");1011 iatDialog.setListener(new RecognizerDialogListener {12 String resultJson = "[";//放置在外边做类的变量则报错 , 会造成json格式不对(?)1314 @Override15 public void onResult(RecognizerResult recognizerResult, boolean isLast) {16 System.out.println("----------------- onResult -----------------");17 if (!isLast) {18 resultJson += recognizerResult.getResultString() + ",";19 } else {20 resultJson += recognizerResult.getResultString() + "]";21 }2223 if (isLast) {24 //解析语音识别后返回的json格式的结果25 Gson gson = new Gson;26 List resultList = gson.fromJson(resultJson,27 new TypeToken> {28 }.getType);29 String result = "";30 for (int i = 0; i < resultList.size - 1; i++) {31 result += resultList.get(i).toString;32 }3334 et_content.setText(result);35 //获取焦点36 et_content.requestFocus;37 //将光标定位到文字最后 , 以便修改38 et_content.setSelection(result.length);39 }40 }4142 @Override43 public void onError(SpeechError speechError) {44 //自动生成的方法存根45 speechError.getPlainDescription(true);46 }47 });48 //开始听写 , 需将sdk中的assets文件下的文件夹拷入项目的assets文件夹下(没有的话自己新建)49 iatDialog.show;50 }5152 private InitListener mInitListener = new InitListener {53 @Override54 public void onInit(int code) {55 Log.d(TAG, "SpeechRecognizer init code = " + code);56 if (code != ErrorCode.SUCCESS) {57 Toast.makeText(SearchMusicActivity.this, "初始化失败 , 错误码:" + code, Toast.LENGTH_SHORT).show;58 }59 }60 };
推荐阅读
- 「A1canton」智慧酒店震撼来袭——虚拟现实VR篇,五大技术革新传统酒店
- 「北京头条客户端」科技部:将加大对前沿技术研发的攻关和支持力度
- 『财经涂鸦』三七互娱爆发的秘密:该用技术公司估值模型来看它了
- [车萝卜]透明屏幕,全语音交互,小米车载新品,米粉:难以置信
- 2020年你应该关注的8大技术趋势,眺望曙光TVP线上技术闭门会纯享实录
- 十大突破性技术-NMN,叫你如何选择最好的NMN
- CNBC:京东智联云打造欧美企业在华首选技术服务平台
- 鲁信创投■60余家创投机构代表参加新能源与先进制造专场路演活动中国科协科学技术传播中心
- 产业气象站▲固守高端显示技术领先地位,三星、LGD皆弃LCD
- 『接风娱乐』人机对战协作新时期已经来临,提高智能化与人工智能技术趋于结合