| 
					
				 | 
			
			
				@@ -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 { 
			 |