title: Android MediaPlayer.Create() returns null
body: <p>I am developing an Android App that plays some sounds. For that I am creating an object of MediaPlayer. Below is the code:</p>
  
  <pre><code>mp = MediaPlayer.create(this, R.raw.testSound);
  </code></pre>
  
  <p>Here mp is null for Android 2.3.3 (API Level 10), i tried with other versions of Android (2.1, 2.2 etc.) it works fine. However with Android 2.3.3 (API Level 10) MediaPlayer.create() call returns null. </p>
  
  <p>The sound file (testSound.wav) is a wav file. I tried parsing the wav file to see if it is corrupted or not. It seems just fine.
  Also, I could play this sound file using Windows Media Player. </p>
  
  <p>Here's the testSound.wav file: <a href="http://www.filedropper.com/testsound" rel="noreferrer">testSound.wav</a>  and below is the code in detail:</p>
  
  <pre><code>public MediaPlayer mp;
  
  // OnCreate() funciton
  mp = MediaPlayer.create(this, R.raw.testSound);
  if(mp == null)   // mp is null for Android 2.3.3 on real device and on AVD both
    {
    Toast msg = Toast.makeText(getApplicationContext(), "Could not play sound",         
    Toast.LENGTH_LONG);
    msg.show();
    }
  
  //SetMediaFileToPlay() is called on Click event of button
  void SetMediaFileToPlay() 
  {       
      AssetFileDescriptor afd;     
      Resources res = getResources();
      Log.d("In SetMediaFileToPlay %s", g_strFocusedImage.toString());
      switch (g_strFocusedImage)
      {
        case RESID_ALPHA1:
        afd = res.openRawResourceFd(R.raw.ik);
        if(mp != null)
        {
          mp.reset();
          mp.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(),      
          afd.getLength());
        }  
        break;
        .........  //other cases
     }
  
   if(mp != null)
    {
      mp.prepare();
      mp.start();
    }
  </code></pre>
  
  <p>}</p>
  
  <p>Please help. Thank You.</p>