Medjiametatta 和“=10=”

MediaMetadata to MediaStore.Audio.Media

我正在使用 MediaController.Callback 来获取有关每个新元数据的通知。 我想使用元数据来获取元数据的专辑封面。
以下是元数据包含的内容:

Bundle{ android.media.metadata.ALBUM_ART => android.graphics.Bitmap@18869e33; android.media.metadata.ARTIST => Thousand Foot Krutch; android.media.metadata.DURATION => 187899; android.media.metadata.USER_RATING => Rating:style=2 rating=unrated; android.media.metadata.ALBUM => Welcome To The Masquerade; android.media.metadata.TITLE => Fire It Up; android.media.metadata.ALBUM_ARTIST => Thousand Foot Krutch; }

如您所见,元数据包含专辑封面。但是,我不需要回调上的专辑封面,而是 Activity 上的专辑封面,所以我不能使用它。

专辑封面路径存储在 MediaStore.Audio.Media 的 ContentReslover 中。

如何将 MediaMetadata 转换为 MediaStore.Audio.Media

的音频 ID

诀窍是在 MediaStore.Audio.Media 中搜索标题以获取歌曲数据:

getContentResolver().query(MediaUri, new int[]{MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE,
                MediaStore.Audio.Media.ALBUM_ID, MediaStore.Audio.Media.ARTIST_ID},
                MediaStore.Audio.Media.TITLE + "=" + DatabaseUtils.sqlEscapeString(title), null, null)