|
@@ -94,10 +94,18 @@ public class BaseDataRecorder implements Recorder {
|
|
|
public void stopRecording() {
|
|
|
pauseRecording();
|
|
|
|
|
|
- if (audioRecord != null) {
|
|
|
- audioRecord.stop();
|
|
|
- audioRecord.release();
|
|
|
- audioRecord = null;
|
|
|
+ try {
|
|
|
+ if (audioRecord != null) {
|
|
|
+ int state = audioRecord.getState();
|
|
|
+ //stop函数判断了这个state,不为STATE_INITIALIZED会报错IllegalStateException
|
|
|
+ if(state == AudioRecord.STATE_INITIALIZED){
|
|
|
+ audioRecord.stop();
|
|
|
+ audioRecord.release();
|
|
|
+ audioRecord = null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
if (outputStream != null) {
|
|
|
try {
|