@BindView(R.id.recordTextView) TextView recordTextView; private EventManager asr; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } public void initView() { initBaidu(); initEvent(); } @Override protected void onDestroy() { super.onDestroy(); asr.send(SpeechConstant.ASR_CANCEL, null, null, 0, 0); // 取消识别 asr.unregisterListener(speechEventListener); } private void initBaidu() { asr = EventManagerFactory.create(this, "asr"); asr.registerListener(speechEventListener); } private void initEvent() { recordTextView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { int action = motionEvent.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: { start(); return true; } case MotionEvent.ACTION_UP: { stop(); return true; } } return false; } }); } private void start() { Map params = new LinkedHashMap(); params.put(SpeechConstant.DECODER, 0); // 0:在线 params.put(SpeechConstant.ACCEPT_AUDIO_VOLUME, false); params.put(SpeechConstant.VAD_ENDPOINT_TIMEOUT, 0); params.put(SpeechConstant.VAD, SpeechConstant.VAD_DNN); params.put(SpeechConstant.PID, 1537); String json = new JSONObject(params).toString(); asr.send(SpeechConstant.ASR_START, json, null, 0, 0); } private void stop() { asr.send(SpeechConstant.ASR_STOP, null, null, 0, 0); // } EventListener speechEventListener = new EventListener() { @Override public void onEvent(String name, String params, byte[] data, int offset, int length) { Log.e("ard", "ASR状态:" + name); Log.e("ard", "ASR参数:" + params); if (name.equals(SpeechConstant.CALLBACK_EVENT_ASR_READY)) { // 引擎就绪,可以说话,一般在收到此事件后通过UI通知用户可以说话了 } else if (name.equals(SpeechConstant.CALLBACK_EVENT_ASR_FINISH)) { // 识别结束 } } };
我在做纯在线语音识别。请教下,权限都授予了,网络是正常的。但是录音即返回2100失败状态。
E/ard: ASR状态:asr.finish E/ard: ASR参数:{"origin_result":{"sn":"","error":2,"desc":"Network is not available","sub_error":2100},"error":2,"desc":"Network is not available","sub_error":2100} E/ard: ASR状态:asr.exit E/ard: ASR参数:{"origin_result":{"sn":"","error":2,"desc":"Network is not available","sub_error":2100},"error":2,"desc":"Network is not available","sub_error":2100}
请教这是什么原因导致的。
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
请测试下demo,是否有问题