为了账号安全,请及时绑定邮箱和手机立即绑定

手指抬起的时候,出现了空指针

mMediaRecorder这个为空,,仍然走进了这个方法的里面,是不是需要在释放资源的时候将isPrepared置为false啊

public int getVoiceLevel(int maxLevel) {
   if (isPrepared) {
       try {
           //maxLevel*mMediaRecorder.getMaxAmplitude() 1~32767
           return maxLevel * mMediaRecorder.getMaxAmplitude() / 32768 + 1;
       } catch (IllegalStateException e) {
           e.printStackTrace();
       }
   }
   return 1;
}

正在回答

4 回答

if (isPrepared && mRecorder != null) 注意还要判断 mRecorder是否已经被释放了

0 回复 有任何疑惑可以回复我~

异常调到最大

0 回复 有任何疑惑可以回复我~

为什么呢?

0 回复 有任何疑惑可以回复我~

找到原因了,老师的代码并没有去处理这个异常

if (isPrepared) {
   try {
       //maxLevel*mMediaRecorder.getMaxAmplitude() 1~32767
       return maxLevel * mMediaRecorder.getMaxAmplitude() / 32768 + 1;
   } catch (Exception e) {
   }
}
return 1;

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android-仿微信语音聊天
  • 参与学习       43200    人
  • 解答问题       220    个

结合自定义View和API,Dialog管理等实现实现微信语音

进入课程

手指抬起的时候,出现了空指针

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信