Я пытаюсь воспроизвести 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вещь, которую нужно учитывать -
Файл, загруженный с помощью менеджера загрузок
Что я должен изменить, чтобы он работал?
ИлиЕсть ли другое решение для воспроизведения с внутренней памяти?