Android 科大讯飞语音识别(详细步骤+源码)

ActivityCompat.requestPermissions(this, toApplyList.toArray(tmpList), 123);

}

}

/**

  • 权限申请回调,可以作进一步处理

  • @param requestCode

  • @param permissions

  • @param grantResults

*/

@Override

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {

// 此处为android 6.0以上动态授权的回调,用户自行实现。

}

在onCreate方法中调用

initPermission();//权限请求

三、语音监听

/**

  • 初始化监听器。

*/

private InitListener mInitListener = new InitListener() {

@Override

public void onInit(int code) {

Log.d(TAG, "SpeechRecognizer init() code = " + code);

if (code != ErrorCode.SUCCESS) {

showMsg(“初始化失败,错误码:” + code + “,请点击网址https://www.xfyun.cn/document/error-code查询解决方案”);

}

}

};

/**

  • 听写UI监听器

*/

private RecognizerDialogListener mRecognizerDialogListener = new RecognizerDialogListener() {

public void onResult(RecognizerResult results, boolean isLast) {

printResult(results);//结果数据解析

}

/**

  • 识别回调错误.

*/

public void onError(SpeechError error) {

showMsg(error.getPlainDescription(true));

}

};

/**

  • 提示消息

  • @param msg

*/

private void showMsg(String msg) {

Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();

}

里面用到一个方法,用于解析监听到的结果

四、数据解析

/**

  • 数据解析

  • @param results

*/

private void printResult(RecognizerResult results) {

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);

StringBuffer resultBuffer = new StringBuffer();

for (String ke

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值