首页 > 学院 > 开发设计 > 正文

欢迎使用CSDN-markdown编辑器

2019-11-09 16:47:22
字体:
来源:转载
供稿:网友

讯飞语音转文字

项目中用到了语音转文字的功能,顺手研究了一下讯飞的相关内容,记录了一下步骤,坑就是注册时需要绑定微信和手机号。获取APPID

根据http://www.xfyun.cn/doccenter/awd依次完成sdk导入。

注意将assets文件内容也放入自己的项目中。

应用程序的入口注册: SpeechUtility.createUtility(context, SpeechConstant.APPID +”=注册时获取的APPID”);

语音转文字的具体实现: PRivate void startZhVoice(String voiceType) { RecognizerDialog dialog = new RecognizerDialog(this, null); dialog.setParameter(SpeechConstant.LANGUAGE, “zh_cn”); //设置语言类型 en_us 英语 dialog.setParameter(SpeechConstant.ACCENT, “mandarin”); dialog.setParameter(SpeechConstant.ASR_PTT, “0”); //设置是否有标点符号 0无1有 dialog.setListener(new RecognizerDialogListener() { @Override public void onResult(RecognizerResult recognizerResult, boolean b) { printResult(recognizerResult, TranslateActivity.this.voiceType); }

@Override public void onError(SpeechError speechError) { } }); dialog.show(); Toast.makeText(this, "请开始说话", Toast.LENGTH_SHORT).show();}//回调结果:private void printResult(RecognizerResult results, String voiceType) { String text = parseIatResult(results.getResultString()); // 转后的内容自行处理}public static String parseIatResult(String json) { StringBuffer ret = new StringBuffer(); try { JSONTokener tokener = new JSONTokener(json); JSONObject joResult = new JSONObject(tokener); JSONArray Words = joResult.getJSONArray("ws"); for (int i = 0; i < words.length(); i++) { // 转写结果词,默认使用第一个结果 JSONArray items = words.getJSONObject(i).getJSONArray("cw"); JSONObject obj = items.getJSONObject(0); ret.append(obj.getString("w")); } } catch (Exception e) { e.printStackTrace(); } return ret.toString();}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表