какой должен путь к файлу mp3 в папке Raw
mediaPlayer.setDataSource("android.resource://" + packageName + "/" + R.raw.salo)
mediaPlayer.setDataSource(this,Uri.parse("android.resource://" + packageName + "res/raw/salo"))
mediaPlayer.setDataSource(this,Uri.parse("android.resource://com.example.mpppppppppp/res/raw/salo"))
mediaPlayer.setDataSource("com.example.mpppppppppp/res/raw/salo")
mediaPlayer.setDataSource(this, Uri.parse("android.resource://com.example.mpppppppppp" + R.raw.salo))
Ответы (1 шт):
Автор решения: woesss
→ Ссылка
Есть два варианта формата такого uri:
android.resource://package_name/id_number
android.resource://package_name/type/name
Первый не подходит для длительного хранения в ПЗУ (в файлах, БД, преференсах и т.п.), так как идентификаторы генерируются при сборке и после обновления приложения могут измениться. Во втором используется имя ресурса, которое изменится только если вы сами его измените.
Примеры:
val uri = Uri.Builder()
.scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
.authority(context.packageName)
.path(Integer.toString(R.raw.salo))
.build();
mediaPlayer.setDataSource(context, uri);
val uri = Uri.Builder()
.scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
.authority(context.packageName)
.appendPath("raw")
.appendPath("salo")
.build();
mediaPlayer.setDataSource(context, uri);