异常场景:在消息聊天中用户不断的进行发送语音的操作,频率短且快。而在这个过程中,为了获取到麦克风所接收到的音量大小,客户端就需要不断的通过 MediaRecorder.getMaxAmplitude() 方法去获取当前音量,而这时候就很容易出现“java.lang.RuntimeException: getMaxAmplitude failed.”异常,从而导致应用崩溃。
解决方案:
在 getMaxAmplitude() 做try...catch操作,catch到异常之后返回 0。
try{
return recorder.getMaxAmplitude();
}catch(RuntimeException e) {
e.printStackTrace();
}
return 0;