BUG篇 Android AudioRecord 调用startRecording发生错误

本文介绍了在使用AudioRecord过程中遇到的calledonanuninitialized错误及其解决办法,包括修改采样率、检查录音权限及实际授权状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

called on an uninitialized AudioRecord

在我们使用AudioRecord的时候,常常会遇到上面的错误,在开发的过程中也遇到这个问题,网上的解决方案各式各样,现在列举一下,可能只会对某些特定的情况有效果。

1、有些手机会存在这个问题,换手机试下可能会有用(治标不治本)。
2、new AudioRecord(int,int,int,int),这个构造函数的第二个参数代表了采样率,在不同手机上采样率不同,可以多尝试几组,比如44100,16000等。
3、听起来很不靠谱、、重启手机

以上三个方法都是网上提出的,我遇到的不是使用上述方法解决的,所以上述方法有效与否,这里不给出结论。

下面是重点!

网上还有一种解决方案就是关于加录音权限
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
这个是我用到的方案,而且是有效果的,没有加上述权限会出现上述的错误。
但是我在加入权限之后仍然会有问题,经过摸索,发现造成该原因的问题是虽然应用申请加权限了,但是手机却没有真正给应用权限!。

以我们测试的手机小米5来说,从安全中心可以看到录音权限状态是“询问”,当我们把录音权限改为“允许”之后,上述错误就不存在了。

在我们这里的测试是有效果的,但不保证各位在使用的时候有效
希望我们遇到的问题对开发的各位有帮助。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值