在使用百度语音Android SDK 语音唤醒功能的时候,唤醒成功后,调用了wp.stop(),即wp.send(SpeechConstant.WAKEUP_STOP, null, null, 0, 0);
随即启动AudioRecorder进行设备的录音(我不会告诉你们我正在使用科大讯飞AIUI),但是报设备被占用异常,导致调用失败。
那么问题来了,当EventListener接收到SpeechConstant.CALLBACK_EVENT_WAKEUP_STOPED消息的时候,是关闭了AudioRecorder呢,还是并没有关闭么?
如果是已经关闭了AudioRecorder的话,再启动AudioRecorder应该不会出错。
同时,使用RxJava2新开一个任务在stop()后的500ms再调用AIUI的录音机,则不会出现此问题。
推测在接收wp.stop的时候,AR并未关闭,应该是等到Looper处理关闭任务的时候才真正关闭。
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
现测试没问题了,是环信广播接收器的问题,偷偷的起来了,占用了我的mic设备。把环信删了就没事了。
可以用dueros额.就可以不用aiui了.
不过你的唤醒后把麦克风交给aiui成功了吗?
将环信SDK禁用之后,暂时没出现Socket关闭的问题,唤醒功能也正常。
初步怀疑与环信SDK有关。测试一段时间再反馈。
应该是和某些SDK端口冲突,我检查一下。
有的。
同时发现一个很严重的问题,打开App,启动Wakeup功能,放着不动,等大约1min之后系统自动GC,此时无法使用AudioRecorder。
看下回调,是否有wp.exit事件
希望开发者给予回复,谢谢。