Simple mediaplayer play mp3 from file path?

前端 未结 6 510
执笔经年
执笔经年 2020-11-28 11:40

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 code

相关标签:
6条回答
  • 2020-11-28 12:11

    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...

    0 讨论(0)
  • 2020-11-28 12:15

    Use the code below it worked for me.

    MediaPlayer mp = new MediaPlayer();
    mp.setDataSource("/mnt/sdcard/yourdirectory/youraudiofile.mp3");
    mp.prepare();
    mp.start();
    
    0 讨论(0)
  • 2020-11-28 12:18

    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.

    0 讨论(0)
  • 2020-11-28 12:21
    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.

    0 讨论(0)
  • 2020-11-28 12:30

    2020 - NOV

    This worked for me:

    final File file = new File(getFilesDir(), "test.wav");//OR path to existing file
    mediaPlayer = MediaPlayer.create(getApplicationContext(), Uri.fromFile(file));
    mediaPlayer.start();
    
    0 讨论(0)
  • 2020-11-28 12:32

    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();
        }
    
    }
    
    0 讨论(0)
提交回复
热议问题