СИТУАЦИЙ №1
Есть Uri uri. Он хорошо работает, музыка играет через плеер с него. но когда я пытаюсь через uri обратиться к самому файлу, то у меня ничего не выходит. file.exists() возвращает false.
uri = data.getData();
Log.e("f", "" + uri); // E/f: content://com.android.externalstorage.documents/document/primary%3AVLAD%2F1.mp3
mus = MediaPlayer.create(MainActivity.this, uri);
mus.start(); // музыка iграе, дзеуки пяюць
File fl = new File(uri.getPath()); // я понимаю, что тут ошибка
Log.e("we ", "" + fl.exists() + " " + fl.getPath()); // E/we: false /document/primary:VLAD/1.mp3
СИТАЦИЯ №2
Этот же аудио-файл берем через File через Environment.getExternalStorageDirectory(). файл существует, все отлично. пытаемся сделать из него uri, но плеер не хочет его воспроизводить.
File fl = new File(Environment.getExternalStorageDirectory() + "/VLAD/1.mp3");
Log.e("f ", "" + fl.exists()); // E/f: true
Uri u = Uri.fromFile(fl);
Log.e("f ", "" + u); // E/f: file:///storage/emulated/0/VLAD/1.mp3
mus = MediaPlayer.create(MainActivity.this, u);
mus.start();
Ошибка
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.start()' on a null object reference
Нужно решения для обоих случаев. Гугл уже не помогает.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости