Simple mediaplayer play mp3 from file path?
132,627
Solution 1
It works like this:
mpintro = MediaPlayer.create(this, Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/Music/intro.mp3"));
mpintro.setLooping(true);
mpintro.start();
It did not work properly as string filepath...
Solution 2
String filePath = Environment.getExternalStorageDirectory()+"/yourfolderNAme/yopurfile.mp3";
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(filePath);
mediaPlayer.prepare();
mediaPlayer.start()
and this play from raw folder.
int resID = myContext.getResources().getIdentifier(playSoundName,"raw",myContext.getPackageName());
MediaPlayer mediaPlayer = MediaPlayer.create(myContext,resID);
mediaPlayer.prepare();
mediaPlayer.start();
mycontext=application.this. use.
Solution 3
Here is the code to set up a MediaPlayer
to play off of the SD card:
String PATH_TO_FILE = "/sdcard/music.mp3";
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(PATH_TO_FILE);
mediaPlayer.prepare();
mediaPlayer.start()
You can see the full example here. Let me know if you have any problems.
Solution 4
Use the code below it worked for me.
MediaPlayer mp = new MediaPlayer();
mp.setDataSource("/mnt/sdcard/yourdirectory/youraudiofile.mp3");
mp.prepare();
mp.start();
Solution 5
I use this class for Audio play. If your audio location is raw folder.
Call method for play:
new AudioPlayer().play(mContext, getResources().getIdentifier(alphabetItemList.get(mPosition)
.getDetail().get(0).getAudio(),"raw", getPackageName()));
AudioPlayer.java class:
public class AudioPlayer {
private MediaPlayer mMediaPlayer;
public void stop() {
if (mMediaPlayer != null) {
mMediaPlayer.release();
mMediaPlayer = null;
}
}
// mothod for raw folder (R.raw.fileName)
public void play(Context context, int rid){
stop();
mMediaPlayer = MediaPlayer.create(context, rid);
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
stop();
}
});
mMediaPlayer.start();
}
// mothod for other folder
public void play(Context context, String name) {
stop();
//mMediaPlayer = MediaPlayer.create(c, rid);
mMediaPlayer = MediaPlayer.create(context, Uri.parse("android.resource://"+ context.getPackageName()+"/your_file/"+name+".mp3"));
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
stop();
}
});
mMediaPlayer.start();
}
}
Author by
John simit
(your about me is currently blank) click here to edit
Updated on February 05, 2022Comments
-
John simit over 2 years
I have a very simple mediaplayer that play background. It calls file from the apk, but I want it to play from any directory like as music or sdcard.
Here are my codes:
private MediaPlayer mpintro; . . mpintro = MediaPlayer.create(this, R.raw.intro); mpintro.setLooping(true); mpintro.start();
-
John simit almost 11 years
Environment.getExternalStorageDirectory()
how can I use like this? Some times different devices may cause a problem width file path? -
John simit almost 11 yearsit says surround with try/catch, when I use filepath.. is it needed?
-
Zala Janaksinh almost 11 years@MD if you use this type path then some time sdcard name is different.and some device also have 10 gb plus internet memory so it's use as external memory.so this path can't work.
-
Zala Janaksinh almost 11 years@John simit every time any code u right use the try catch blosk it's good habit and good programing technic.
-
Md Abdul Gafur almost 11 years@Zala Janaksinh , This is just an example. I try to tell him, how it work. I am not implement her logic and her code.
-
Zala Janaksinh almost 11 years@MdAbdulGafur don't take personally i just advice.sorry
-
John simit almost 11 years
catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
it gives me whole catch code, is it enough to useException e
or should I use what suggested to me? -
Zala Janaksinh almost 11 years@Johnsimit simple exception. use only default exception. if helpful then click as correct mark.ok bye
-
pollaris over 6 yearsanother android example: mp.setDataSource("/storage/emulated/0/Music/");
-
gumuruh almost 2 yearswe need to parse the path first became Uri. :D