最好应该是用mHndler.post(mGetVoiceLevelRunnable)来执行,然后在录音结束时再remove掉应该会比较好。
2015-05-24
在AudioRecorderButton里面mHandler的MSG_AUDIO_PREPARED处理上,是直接new出的一个线程,在录音停止时也没有remove掉这个线程,所以我在真机上测试时,按下按钮松开后会报错,因为那个线程没有被关闭而还去执行了AudioManager的getVoiceLevel()方法,而此时getVoiceLevel()方法里面的mMediaRecorder是为null的,所以报了空指针异常。目前我的一个粗暴解决办法是直接在getVoiceLevel()方法里的if里去判断下mMediaRecorder != null。
2015-05-24
@linshiyx 应该是不需要停止了,因为在MediaManager里面已经做了mMediaPlayer是否为null的判断,如果不为null,说明还在播放前面的音频,在播放本次点击的音频时进行了reset()操作
2015-05-24
Dialog的Theme少了个item:
<item name="android:windowNoTitle">true</item>
<item name="android:windowNoTitle">true</item>
2015-05-22