Воспроизвести mp3-файл из внутреннего хранилища в Android MediaPlayer - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь воспроизвести 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 не удалось

Oneвещь, которую нужно учитывать -

Файл, загруженный с помощью менеджера загрузок

Что я должен изменить, чтобы он работал?

ИлиЕсть ли другое решение для воспроизведения с внутренней памяти?

...