// START RECODING ------------------------------------------------------------------------
   
    static void startRecoding() {
         recorder = new MediaRecorder();            

         recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
         recorder.setOutputFormat(output_formats[currentFormat]);
         recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
         recorder.setOutputFile(getFilename());   
         recorder.setOnErrorListener(errorListener);
         recorder.setOnInfoListener(infoListener);
   

       try {
                  recorder.prepare();
                  recorder.start();
             } catch (IllegalStateException e) {
                   e.printStackTrace();
             } catch (IOException e) {
                   e.printStackTrace();
            }

    }
   
// STOP RECODING ------------------------------------------------------------------------
    
    static void stopRecording(){
    if(null != recorder){
     recorder.stop();                         <---- 59line
     recorder.reset();
     recorder.release();
    
     recorder = null;
    }
   }

 

startRecoding 을 한 후, stopRecording 을 하기만하면 다음과 같은 에러가 발생합니다..

 

 E/AndroidRuntime(752): java.lang.IllegalStateException

E/AndroidRuntime(752):  at android.media.MediaRecorder.stop(Native Method)

E/AndroidRuntime(752):  at com.example.test1.CallRecording.stopRecording(CallRecording.java:59)

 

아무리 봐도 어떤에러인지 그 자체를 모르겠어 질문드립니다...어디를 봐야하는걸까요..?