如何在Android中使用mediastore.audio获取具有音频文件的目录的名称

时间:2019-12-23 19:46:22

标签: android audio video audio-player

我正在开发音频和视频播放器。我使用mediastore.video.media.bucket_display_name获得了所有视频的文件夹名称,它可以完美地与视频文件一起使用,但是当我使用mediastore.audio.media.bucket_display_name时,它显示错误。谁能帮助我获得包含音频文件的文件夹的名称。我需要使用游标进行此操作。我得到了这个错误:

 "no such column: bucket_display_name (Sqlite code 1): , while compiling: SELECT bucket_display_name FROM audio"

1 个答案:

答案 0 :(得分:0)

使用以下代码获取文件夹名称:

fun getFolderName() {
                
                val uri: Uri
                val cursor: Cursor?
        
                uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
                val projection = arrayOf(MediaStore.Audio.AudioColumns.DATA)
                cursor = requireActivity().contentResolver.query(uri, projection, null, null, null)
                if (cursor != null) {
                    column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Audio.AudioColumns.DATA)
                }
                
                while (cursor!!.moveToNext()) {
        
                    absolutePathOfImage = cursor.getString(column_index_data)
        
        
                    val fileName: String = File(absolutePathOfImage).parentFile.name
        }
    }