从android Mediaplayer中的内部存储播放mp3文件

时间:2018-10-10 11:25:42

标签: android android-mediaplayer internal-storage

我正在尝试使用媒体播放器从内部存储应用目录中播放mp3文件。

 File mydir = getDir("my_folder", Context.MODE_PRIVATE);
    File fileWithinMyDir = new File(mydir, "arbn_001.mp3");
    fileWithinMyDir.setReadable(true, false);
    String videoResource = fileWithinMyDir.getPath();
    Uri intentUri = Uri.fromFile(new File(videoResource));
    Log.d("FileExist", "file " + intentUri.getPath());
try{
        MediaPlayer mPlayer = new MediaPlayer();
        mPlayer.setDataSource(MainActivity.this, intentUri);

        mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mediaPlayer) {

                Log.d("FileExist", "player prepared");
                mediaPlayer.start();
            }
        });

        mPlayer.prepare();

}catch (Exception e){
    Log.e("FileExistmPlayer 2", ""+e.getMessage());
}

intentUri.getPath()显示值-

  

/data/user/0/com.my.package/app_my_folder/arbn_001.mp3

我遇到媒体播放器异常-

  

setDataSource失败

一件事需要考虑-

  

使用下载管理器下载的文件

我应该进行哪些更改才能使其正常工作?

还是从内部存储中播放其他解决方案?

0 个答案:

没有答案