解决A9 监听录音时由于任务执行过快 录音源被占抛异常 造成的 应用crash
authorSnickerSun <scy@incartech.cn>
Sat, 2 Oct 2021 16:50:19 +0000 (00:50 +0800)
committerSnickerSun <scy@incartech.cn>
Sat, 2 Oct 2021 16:50:19 +0000 (00:50 +0800)
app/src/main/java/com/ic/protocolSrv/service/AudioService.java

index 2ee1b9c..f70132a 100644 (file)
@@ -120,18 +120,18 @@ public class AudioService implements MediaPlayer.OnErrorListener, MediaPlayer.On
 
 
     public void startRecord(String FileName) {
-        if (mRecorder == null)
-            mRecorder = new MediaRecorder();
-        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
-        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
-        mRecorder.setOutputFile(FileName);
-        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
         try {
+            if (mRecorder == null)
+                mRecorder = new MediaRecorder();
+            mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
+            mRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
+            mRecorder.setOutputFile(FileName);
+            mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
             mRecorder.prepare();
+            mRecorder.start();
         } catch (IOException e) {
-            ICLogger.e("prepare() failed");
+            ICLogger.e(e.getMessage(),e);
         }
-        mRecorder.start();
     }
 
     public void stopRecord() {