Android 中音乐文件的元数据读写

时间:2020-12-24 17:16:03

标签: android kotlin android-mediaplayer android-cursorloader

我有一个 URI 可以从自定义文件夹中获取我的所有音乐文件:

val uri: Uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI

然后我使用 Cursor 迭代该 URI 中的文件,然后获取一些属性并处理它们:

    val cursor: Cursor? = context.contentResolver.query(uri, projection, null, null, null)

    if (cursor != null) {
        while (cursor.moveToNext()) {
            val attribute1 = cursor.getString(0)
            val attribute2 = cursor.getString(1)
            ...

            treatmentOfAttributes(attribute1, attribute2, ...)
        }
        cursor.close()
    }

如果我正在迭代的文件没有它,我想添加一个默认值为 numberOfAudioReproductions 的元数据字段 0,如果有,则读取它。

我还想重写它以增加 numberOfAudioReproductions 的值。

我最好是写在文件的元数据上,而不是将它保存在 SQLite 中,因为那样会很乱,我想下一个像 order = MediaStore.MediaColumns.NUMBER_OF_AUDIO_REPRODUCTIONS + " ASC" 这样的订单,通过音频复制数量 val cursor: Cursor? = context.contentResolver.query(uri, projection, null, null, order)

这可能吗?预先非常感谢您

0 个答案:

没有答案