audiorecorder read总是返回0分析

项目用到录音功能  在写时发现这个问题 在应用进行第一次录音是ok,但录完后进行再次录音时录不上

后经追踪发现 是audiorecorder的read抓不到数据 总是返回0

这个问题很奇怪 因为重新创建recoder时可以重新创建,且所有状态均正确,但就是在read时抓不到数据

后经各种蛋疼的调试后 发现ui逻辑层 做用完录音引擎后没有对引擎做release操作 导致上次的recorder的对象没有release

原因是这个原因 但是为什么上次的recorder没有release,这次重新new的理应与上次没关系 没有release也没关系 如果从纯java层来考虑是没有问题的

这样出问题的原因

目前猜测是

是audiorecorder 是调用c层代码实现的 而c则是通过操作硬件实现的 但是硬件只有一个 上次没有release 就会导致硬件被占用

这只是猜测,具体的等以后有时间了,撸下源码会确定,撸完源码 再把具体的原因写下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值