Ahmed Mourad
08/26/2023, 2:08 PMAhmed Mourad
08/26/2023, 2:08 PMval projection = arrayOf(
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.DATA
)
val selection = MediaStore.Audio.Media.IS_MUSIC + " != 0"
appCtx.contentResolver.query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
projection,
selection,
null,
null
)?.asSequence()?.map {
Ringtone(
name = it.getString(0),
source = MediaSource.Path(it.getString(1))
)
}?.toList().orEmpty()
Ahmed Mourad
08/26/2023, 2:10 PMplayer.setDataSource(appCtx, Uri.parse(source.path))
Ahmed Mourad
08/26/2023, 2:14 PM<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" android:minSdkVersion="33" />
I also request them at runtime, but on Android 10 devices (and probably on newer ones as well) I'm getting this error:
java.io.FileNotFoundException: /storage/emulated/0/Samsung/Music/Over_the_Horizon.mp3: open failed: EACCES (Permission denied)
Ahmed Mourad
08/26/2023, 2:14 PMChrimaeon
08/26/2023, 2:14 PM