Я запустил проект для создания музыкального c плеера. Изначально я перечислил все mp3-файлы, используя уровень ApI 29. Но я сталкиваюсь с проблемой при создании медиаплеера. Каждый раз, когда отображается сообщение об ошибке: «Обнаружен нулевой Uri» ".... я пробовал это ... весело getAppExternalFilesDir (): File? {return if (Build.VERSION.SDK_INT> = 29) {getExternalFilesDir (null)} else {// @ Удалено в API 29. // / storage / emulated / 0 Environment.getExternalStorageDirectory ()}}
fun ListDir(f: File) {
var files: Array<File>? = f.listFiles()
list.clear()
if (files != null) {
for (file: File in files) {
if (file.name.endsWith(".mp3")){
list.add(Model(file.name))
}
}
}
listview.setOnItemClickListener { parent:AdapterView<*>, view:View, position:Int, id:Long ->
if (position>=0) {
var textcopy: TextView = view.findViewById(R.id.foldername)
var namecopied: String = textcopy.text.toString()
mediaplayer = MediaPlayer()
var uri: Uri = Uri.parse((getAppExternalFilesDir().toString() + "/" + namecopied))
Toast.makeText(this, uri.toString(), Toast.LENGTH_SHORT).show()
mediaplayer = MediaPlayer.create(this, uri)
mediaplayer.prepare()
mediaplayer.start()
}
//where getAppExternalFilesDir() =getExternalFilesDir(null)
}