【发布时间】:2023-02-26 05:37:41
【问题描述】:
我正在尝试访问外部存储上的 mp3 文件,并且我正在使用 mediastore 来检索它。然而,android studio 似乎指出通过 mediastore.audio.media.DATA 获取它已被弃用。这是我的代码
val mediaUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
val select = MediaStore.Audio.Media.IS_MUSIC + "!=0"
val rs = contentResolver.query(mediaUri, null, select, null, null)
if (rs != null) {
while (rs.moveToNext()) {
val uri = rs.getString(rs.getColumnIndex(MediaStore.Audio.Media.DATA))
val author = rs.getString(rs.getColumnIndex(MediaStore.Audio.Media.ARTIST))
val title = rs.getString(rs.getColumnIndex(MediaStore.Audio.Media.TITLE))
val albumId = rs.getLong(rs.getColumnIndex(MediaStore.Audio.Albums.ALBUM_ID))
val uriImage = Uri.Builder()
uriImage
.scheme("content")
.authority("media")
.appendPath("external")
.appendPath("audio")
.appendPath("albumart")
.appendPath(albumId.toString())
val music = Music(title, author, uri, uriImage.build())
listMusic.add(music)
}
}
【问题讨论】: