public class androidstudy extends Activity {
    /** Called when the activity is first created. */   
 MediaRecorder recorder = new MediaRecorder();
 @Override 
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);         

        Button btn2 = (Button)findViewById(R.id.butt1);
        btn2.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
    Toast.makeText(androidstudy.this, "녹음 시작", Toast.LENGTH_SHORT).show();
    try{
           File file = Environment.getExternalStorageDirectory();
           String path = file.getAbsolutePath() + "test.3gp";
           recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
           recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
           recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
           recorder.setOutputFile(path);
           recorder.prepare();
           recorder.start();
    }catch(IOException e){
     e.printStackTrace();
    }
   }      
        });
        Button btn3 = (Button)findViewById(R.id.butt2);
        btn3.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
    recorder.stop();
    recorder.release();
    Toast.makeText(androidstudy.this, "녹음 중지", Toast.LENGTH_SHORT).show();
   }         
        });
 } 
}

간단하게 녹음하고 저장하는 것을 공부해보고 있습니다.
여러가지 알아보는 도중에 이렇게 코드를 작성하게 되었는데요 녹음 시작을 누르면 토스트가 동작하고
뭔가 동작은 됩니다.

녹음 중지를 누르면 먹통이 되고 예외가 발생하고 죽어버리는데요

무엇이 문제일까요

단말기는 갤럭시s를 사용하고 있습니다.

퍼미션도 <uses-permission android:name="android.permission.RECORD_AUDIO" />

이렇게 잘 줬는데 무엇이 문제일까요 ㅠㅠ