Android MediaPlayer.Create () возвращает ноль

Я разрабатываю приложение для Android, которое воспроизводит некоторые звуки. Для этого я создаю объект MediaPlayer. Ниже приведен код:

mp = MediaPlayer.create(this, R.raw.testSound);

Здесь mp является нулевым для Android 2.3.3 (API Level 10), я пробовал с другими версиями Android (2.1, 2.2 и т. Д.), Он работает нормально. Однако в Android 2.3.3 (уровень API 10) вызов MediaPlayer.create () возвращает ноль.

Звуковой файл (testSound.wav) представляет собой файл WAV. Я попытался разобрать файл WAV, чтобы увидеть, если он поврежден или нет. Вроде просто отлично. Кроме того, я мог воспроизвести этот звуковой файл с помощью Windows Media Player.

Вот файл testSound.wav:testSound.wav  и ниже код подробно:

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();
  }

}

Пожалуйста помоги. Благодарю вас.

Ответы на вопрос(1)

Ваш ответ на вопрос