熄屏后开启语音识别报错,是sdk不支持后台录音吗
allensworld 发布于2020-09 浏览:2486 回复:3
0
收藏
最后编辑于2022-09

操作流程:关闭屏幕,倒计时1分钟后,调用开启录音代码(只有在熄屏的时候会报错,开启屏幕的时候一切正常)

报错如下:

2020-09-18 15:10:49.310 5072-5237/com.jhtwl.kepu E/ASREngine: EVoiceRecognitionClientWorkStatusError errorDomain : 20 errorCode : 2 desc : VAD detect: no speech. mLastRecognitionResult:

2020-09-18 15:10:49.330 5072-5072/com.jhtwl.kepu E/lsjht: ;params :{"origin_result":{"sn":"","error":3,"desc":"VAD detect no speech","sub_error":3101},"error":3,"desc":"VAD detect no speech","sub_error":3101}

核心代码如下:

//模拟在熄屏后定时开启录音
RxTimerUtil.timer(1000 * 60, new RxTimerUtil.IRxNext() {
@Override
public void doNext(long number) {
Map params = new LinkedHashMap<>();
String event = SpeechConstant.ASR_START;
params.put(SpeechConstant.ACCEPT_AUDIO_VOLUME, false);

(new AutoCheck(getApplicationContext(), new Handler(), false)).checkAsr(params);
String json = new JSONObject(params).toString();
asr.send(event, json, null, 0, 0);
}
});

图片好像看不清楚

收藏
点赞
0
个赞
共3条回复 最后由qq928243596回复于2022-09
#4用户已被禁言回复于2020-09
#3 allensworld回复
这个不是保活的问题吧 我的app并没有死啊 其他业务流程熄屏后也一直在运行 就这个语音识别无法使用 如果说app被杀死了 那么应该错误日志都不会打印出来才对吧
展开

看报错3101是指长时间未检测到人说话,当时是否没有人进行说话呢?可以重试下看看是否是这个问题。

0
#3allensworld回复于2020-09
#2 franklyn867回复
sdk不支持后台运行,需要自己写保活

这个不是保活的问题吧 我的app并没有死啊 其他业务流程熄屏后也一直在运行 就这个语音识别无法使用

如果说app被杀死了 那么应该错误日志都不会打印出来才对吧

0
#2franklyn867回复于2020-09

sdk不支持后台运行,需要自己写保活

0
TOP
切换版块