title: Android AudioRecord fails to initialise(Other solutions not working)
body: <p>I have checked and tried all the other threads for multiple hours today and none of the solutions work.</p>
  
  <p>I have tried filtering through all avaible audio options. I have given the proper permissions to the app.</p>
  
  <p>Goal: I am trying to get this audio stream so I can get the frequency of the audio.</p>
  
  <p>My stuff</p>
  
  <pre><code>public int audioSource = MediaRecorder.AudioSource.MIC;
  public int channelConfig = AudioFormat.CHANNEL_IN_MONO;
  public int audioEncoding = AudioFormat.ENCODING_PCM_16BIT;
  public AudioRecord audioRecord = null;
  private Thread recordingThread = null;
  public int blockSize = 256;                               // deal with this many samples at a time
  public int sampleRate = 8000;                             // Sample rate in Hz
  </code></pre>
  
  <p>later on...</p>
  
  <pre><code> int bufferSize = AudioRecord.getMinBufferSize(sampleRate, channelConfig, audioEncoding);
      AudioRecord audioeeeeRecord = new AudioRecord(audioSource, sampleRate, channelConfig, audioEncoding, bufferSize);   // The RAW PCM sample recording
      audioRecord = audioeeeeRecord;
      if (audioRecord != null &amp;&amp; audioRecord.getState() != AudioRecord.STATE_INITIALIZED)
          try {
              throw new Exception("AudioRecord init failed");                    //audioRecord = findAudioRecord();
          } catch (Exception e) {
              e.printStackTrace();
          }
      final short[] buffer = new short[blockSize];
  
      try {
  
          audioRecord.startRecording();
      } catch (Exception e) {
          e.printStackTrace();
      }
  </code></pre>
  
  <p>This throws the following error (<a href="http://pastebin.com/raw/3wmA4cku" rel="nofollow">http://pastebin.com/raw/3wmA4cku</a>):</p>
  
  <pre><code>AudioRecord: AudioFlinger could not create record track, status: -1
           E/AudioRecord-JNI: Error creating AudioRecord instance: initialization check failed with status -1.
           E/android.media.AudioRecord: Error code -20 when initializing native AudioRecord object.
           W/System.err: java.lang.Exception: AudioRecord init failed
           W/System.err:     at app.mobile.mobileecg.MainActivity.startReading(MainActivity.java:102)
           W/System.err:     at app.mobile.mobileecg.MainActivity$1.onClick(MainActivity.java:58)
           W/System.err:     at android.view.View.performClick(View.java:5697)
           W/System.err:     at android.view.View$PerformClick.run(View.java:22526)
           W/System.err:     at android.os.Handler.handleCallback(Handler.java:739)
           W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:95)
           W/System.err:     at android.os.Looper.loop(Looper.java:158)
           W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:7229)
           W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
           W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
           W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
           W/System.err: java.lang.IllegalStateException: startRecording() called on an uninitialized AudioRecord.
           W/System.err:     at android.media.AudioRecord.startRecording(AudioRecord.java:943)
           W/System.err:     at app.mobile.mobileecg.MainActivity.startReading(MainActivity.java:114)
           W/System.err:     at app.mobile.mobileecg.MainActivity$1.onClick(MainActivity.java:58)
           W/System.err:     at android.view.View.performClick(View.java:5697)
           W/System.err:     at android.view.View$PerformClick.run(View.java:22526)
           W/System.err:     at android.os.Handler.handleCallback(Handler.java:739)
           W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:95)
           W/System.err:     at android.os.Looper.loop(Looper.java:158)
           W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:7229)
           W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
           W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
           W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
  </code></pre>