最近做项目需要用到录音功能,按正常操作很完美的完成了,结果测试反馈点击系统的授权弹框中的拒绝按钮,手机录音还在继续,就是最后的录音文件不能播放,当时很郁闷就各种搜索,各种找资料,最终也没找到监听方法,没办法了,只能自己想办法解决了。。。
闲话少叙,通过加断点跟踪发现请求权限这个过程是阻塞线程的,并且拒绝录音之后如果手机能执行录音代码,那么录音的第一秒产生的录音文件的大小为0,如果点击允许录音文件的第一秒大小大于0,所以在监听录音的回调中检查录音文件大小就能知道录音权限是否被拒绝了。
上干货 源码地址