手指抬起的時候,出現了空指針
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;
}
2016-08-11
if (isPrepared && mRecorder != null) 注意還要判斷 mRecorder是否已經被釋放了
2015-09-19
異常調到最大
2015-08-19
為什么呢?
2015-05-27
找到原因了,老師的代碼并沒有去處理這個異常
if (isPrepared) {
? ?try {
? ? ? ?//maxLevel*mMediaRecorder.getMaxAmplitude() 1~32767
? ? ? ?return maxLevel * mMediaRecorder.getMaxAmplitude() / 32768 + 1;
? ?} catch (Exception e) {
? ?}
}
return 1;