语音唤醒在个别机子上提示"startRecording failed! bad recorder, audio permission denied"
159*****191 发布于2016-12 浏览:1991 回复:5
0
收藏

我使用的是:离在线语音识别融合包里的语音唤醒,版本v2.2.20.20161027

参数设置情况:与官方文档中相同

开发平台和机型:Android 4.4.2 rk3188机型

日志截图:

复现步骤、现象及其他描述:

在大部分机型上语音唤醒没问题,不过在这个机子上总是会提示{"errorCode":5,"errorDesc":"startRecording failed! bad recorder, audio permission denied","errorDomain":10}

*上面的提示是下面这个方法的param参数

mWpEventManager.registerListener(new EventListener() {
@Override
   public void onEvent(String name, String params, byte[] data, int offset, int length) {


另外,录音权限是允许了的,如果没有录音权限,params是这样的{"errorCode":5,"errorDesc":"startRecording failed! bad recorder, can't read audio data","errorDomain":10}

所以,弄不懂这个audio permission denied究竟是怎么产生的,是这个机子上的录音设备不兼容语音唤醒吗?

收藏
点赞
0
个赞
共5条回复 最后由用户已被禁言回复于2022-04
#6c5812回复于2017-01

您好,您可以尝试用infile参数自定义音频源

0
#5159*****191回复于2016-12

liu10028:

你好,在读取录音机数据的时候,我们会做一些关于录音机是否正常的判断,如果拿到的录音机数据长度为0,我们会抛一个permission bad recorder, can't read audio data 的错误,另一种,如果取到数据,但是拿到的数据异常的情况下会抛permission bad recorder, audio permission denied.麻烦请提供一下你的手机型号我们debug实际验证一下,你这种情况,发现虽然读取到了数据,但是读取到的byte 数组都是0或者负值.

回复liu10028:感谢如此细致的回答。我们这边的情况有点特殊,不是手机,是一个android定制系统的硬件机器人,型号是爱乐优 U03S ,我们在上面开发语音应用。讯飞的语音唤醒我们也在上面试过,讯飞的唤醒是正常的。机子是rk3188的芯片,Android 4.4.2

0
#4liu10028回复于2016-12

你好,在读取录音机数据的时候,我们会做一些关于录音机是否正常的判断,如果拿到的录音机数据长度为0,我们会抛一个permission bad recorder, can't read audio data 的错误,另一种,如果取到数据,但是拿到的数据异常的情况下会抛permission bad recorder, audio permission denied.麻烦请提供一下你的手机型号我们debug实际验证一下,你这种情况,发现虽然读取到了数据,但是读取到的byte 数组都是0或者负值.

0
#3159*****191回复于2016-12

c5812:

您好,关于录音权限问题主要有以下几种可能:

1. 安全软件限制

2. 未声明录音权限

3. 声明录音权限,但6.0系统中录音权限需要用户交互,请网上搜索6.0相关权限问题

4. 录音机被其它程序占用

回复c5812:我权限声明了也都允许了的,这个应该不是权限的问题,我试过了,如果没有声明权限或者安全软件里禁止权限,信息会是can't read audio data,而不是audio permission denied。另外,系统是4.4.2版本,录音机也没有被其他程序占用(在同一个APP中加入讯飞的语音识别,可以识别,但百度唤醒不能工作,去掉讯飞语音识别后,只有百度唤醒,依然不能工作)。

我想知道{"errorCode":5,"errorDesc":"startRecording failed! bad recorder, audio permission denied","errorDomain":10}这条信息究竟会在什么情况下打印出来,如果是在没权限的时候打印出来,那为什么我不给权限或者不声明权限的时候打印出来的是{"errorCode":5,"errorDesc":"startRecording failed! bad recorder, can't read audio data","errorDomain":10},而不是audio permission denied?两者的区别是什么?

0
#2c5812回复于2016-12

您好,关于录音权限问题主要有以下几种可能:

1. 安全软件限制

2. 未声明录音权限

3. 声明录音权限,但6.0系统中录音权限需要用户交互,请网上搜索6.0相关权限问题

4. 录音机被其它程序占用

0
TOP
切换版块