Reputation: 759
I have the media player playing an mp3 when I load my application. But I had to move this application and now every time I load the application this gives a force close error.
The media player is opened like this:
final MediaPlayer mp = MediaPlayer.create(Splash.this, R.raw.indra);
mp.start();
I know its the media player which causes the error as when I comment the lines above out the application works.
Is there any other ways I can try to load the mp3?
Thanks
Edit:
MediaPlayer mp = new MediaPlayer();
AssetFileDescriptor descriptor = contex.getAssets().openFd("indra.mp3");
mp.setDataSource( descriptor.getFileDescriptor(),
descriptor.getStartOffset(), descriptor.getLength() );
descriptor.close();
mp.prepare();
mp.start();
Edit:
try {
MediaPlayer mp = new MediaPlayer();
AssetFileDescriptor descriptor;
descriptor = contex.getAssets().openFd("indra.mp3");
mp.setDataSource( descriptor.getFileDescriptor(),
descriptor.getStartOffset(), descriptor.getLength() );
descriptor.close();
mp.prepare();
mp.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Upvotes: 2
Views: 6466
Reputation: 33258
Just put your file in asset folder n apply this code..
Media Player mp = new MediaPlayer();
AssetFileDescriptor descriptor = contex.getAssets().openFd(fileName);
mp.setDataSource( descriptor.getFileDescriptor(),
descriptor.getStartOffset(), descriptor.getLength() );
descriptor.close();
mp.prepare();
mp.start();
Upvotes: 3