title: MediaRecorder start failed: -38
body: <p>i searched to check if this question is no dup , i see some has no answer and others did not help. </p>
  
  <p>this is my code :</p>
  
  <pre><code>private void startRecording()
  {
              mRecorder = new MediaRecorder();
              mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
              mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
              mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
  
              mFileName = Environment.getExternalStorageDirectory().getAbsolutePath();
                mFileName += "/recordedHeckPost_.3gp";
  
              mRecorder.setOutputFile(mFileName);                  
  
                  try {
                      mRecorder.prepare();
                      //Thread.sleep(2000);
                      mRecorder.start();                  
          }
                  catch (InterruptedException e) 
                  {   // TODO Auto-generated catch block
              e.printStackTrace();
          }     
              catch(IllegalStateException e)
              {
                  e.printStackTrace();
              } catch (IOException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }
  }
  
  private void stopRecording()
  {
          mRecorder.stop();
          mRecorder.release();
          mRecorder = null;
  }
  </code></pre>
  
  <p>After running this code (On Nexus 5) i get the below start <strong>failed -38 exception</strong>:</p>
  
  <pre><code>05-31 18:17:39.404: E/MediaRecorder(2464): start failed: -38
  05-31 18:17:39.404: W/System.err(2464): java.lang.IllegalStateException
  05-31 18:17:39.404: W/System.err(2464):     at android.media.MediaRecorder.start(Native Method)
  </code></pre>
  
  <p>Thanks.</p>