title: Record Call in Android 2.2
body: <p>I have written this code for recording Calls. It works fine in Android 2.1. In Android 2.2, it creates an output file with 0 bytes.</p>
  
  <p>How I can solve this?</p>
  
  <pre><code>MediaRecorder _recorder = new MediaRecorder();
  
  
  public void start() throws IOException {
      try {
          String state = android.os.Environment.getExternalStorageState();
          if (!state.equals(android.os.Environment.MEDIA_MOUNTED)) {
              throw new IOException("SD Card is not mounted.  It is " + state
                      + ".");
          }
  
          // make sure the directory we plan to store the recording in exists
          File directory = new File(Environment.getExternalStorageDirectory().getAbsolutePath()
                  + "/sam.wav").getParentFile();
          if (!directory.exists() &amp;&amp; !directory.mkdirs()) {
              throw new IOException("Path to file could not be created.");
          }
  
  
          _recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL );
          _recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
          _recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
          setOutputFile(Environment.getExternalStorageDirectory().getAbsolutePath()
                  + "/test.wav");
          _recorder.prepare();
          _recorder.start();
  
      } catch (Exception e) {
          e.printStackTrace();
      }
  }
  </code></pre>