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

标签 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"

最佳答案

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

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
        }
    }

关于android - 如何在Android中使用mediastore.audio获取具有音频文件的目录的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59460585/

相关文章:

java - RejectedExecutionException 的原因是什么?

android - 向 alertDialog 单选项添加摘要/附加文本

audio - 钢琴声音的拍打和两阶段衰减

video - 使用 HEVC HM 解码器引用 HEVC 文件解码

jquery - Vimeo 视频不适用于 HTML5 标签

Android 相机准备失败

java - 为不同的列表对话框项设置不同的操作

java - Picasso 正在加载 URL 但未显示图片

java - 确定麦克风声音的幅度

c - 在两个 channel 上播放单声道 WAV