最后编辑于2022-04
com.baidu.speech.VoiceRecognitionService这个设置识别Service,若需要放在程序中,而不是放在AndroidManifest.xml 文件中,需要如何写参数?
authInfo = new HashMap(3);
authInfo.put("appid", "10127572"); // 认证相关, key, 从开放平台(http://yuyin.baidu.com)中获取的key
authInfo.put("appkey", "rZh0DLQKcqMzYjNSf2mwVByA"); // 认证相关, key, 从开放平台(http://yuyin.baidu.com)中获取的key
authInfo.put("secret", "3137fd3bec47ff381c37505583a044c4"); // 认证相关, secret, 从开放平台(http://yuyin.baidu.com)secret
authInfo.put("dec-type", 1); // SDK的协议号, 0=分包协议, 1=流式协议。TODO 目前需要强制设置为0启动分包协议
authInfo.put("log_level", 6); // 打开日志, 不设置则为关闭
authInfo.put("decoder", 0); // 使用纯在线识别
authInfo.put("vad", "dnn"); // 开启基于dnn的语音活动检测模块
authInfo.put(SpeechConstant.PID, 15361);
authInfo.put("appid", "10127572"); // 认证相关, key, 从开放平台(http://yuyin.baidu.com)中获取的key
authInfo.put("appkey", "rZh0DLQKcqMzYjNSf2mwVByA"); // 认证相关, key, 从开放平台(http://yuyin.baidu.com)中获取的key
authInfo.put("secret", "3137fd3bec47ff381c37505583a044c4"); // 认证相关, secret, 从开放平台(http://yuyin.baidu.com)secret
authInfo.put("dec-type", 1); // SDK的协议号, 0=分包协议, 1=流式协议。TODO 目前需要强制设置为0启动分包协议
authInfo.put("log_level", 6); // 打开日志, 不设置则为关闭
authInfo.put("decoder", 0); // 使用纯在线识别
authInfo.put("vad", "dnn"); // 开启基于dnn的语音活动检测模块
authInfo.put(SpeechConstant.PID, 15361);
asr = EventManagerFactory.create(this, "asr");
asr.registerListener(new com.baidu.speech.EventListener() {
@Override
public void onEvent(String name, String params, byte[] data, int offset, int length) {
if (name.equals(SpeechConstant.CALLBACK_EVENT_ASR_FINISH)) {
// 识别结束
try {
StringBuilder sb = new StringBuilder();
switch (error) {
case SpeechRecognizer.ERROR_SERVER:
sb.append("ERROR_SERVER服务端错误");
break;
}
}catch (JSONException e) {
e.printStackTrace();
}
}
asr.send(SpeechConstant.ASR_CANCEL, "{}", null, 0, 0);
asr.send(SpeechConstant.ASR_START, new JSONObject(authInfo).toString(), null, 0, 0);
}
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
你好,你这里的代码已经失效,请下载官网最新sdk进行测试。