How do I play an mp3 in the res/raw folder of my android app?

damonkashu picture damonkashu · Nov 12, 2010 · Viewed 81.5k times · Source

I have a small (200kb) mp3 in the res/raw folder of my android app. I am trying to run it in an emulator from Eclipse. It is recognized as a resource in the R file but when I try to prepare/start, my activity crashes! Was there something else I needed to change, perhaps in the manifest?

MediaPlayer mPlayer = MediaPlayer.create(FakeCallScreen.this, R.raw.mysoundfile);

try {
mPlayer.prepare();
mPlayer.start();
} catch (IOException e) {
// handle this later
}

Answer

Muhammad Shahab picture Muhammad Shahab · Nov 12, 2010

When starting the activity i.e on onCreate put the following code.

  public void onCreate(Bundle savedInstanceState) {


        super.onCreate(savedInstanceState);         
        setContentView(R.layout.main);

        MediaPlayer mPlayer = MediaPlayer.create(FakeCallScreen.this, R.raw.mysoundfile);
        mPlayer.start();

    }

When stopping the activity i.e on onDestroy put the following code.

   public void onDestroy() {

    mPlayer.stop();
    super.onDestroy();

}

Hope it helps :)