MediaMetadata到MediaStore.Audio.Media

时间:2015-06-06 14:58:32

标签: android android-contentresolver mediastore

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

  

Bundle {android.media.metadata.ALBUM_ART =>   android.graphics.Bitmap@18869e33; android.media.metadata.ARTIST =>   千足Krutch; android.media.metadata.DURATION => 187899;   android.media.metadata.USER_RATING =>评级:style = 2 rating =未评级;   android.media.metadata.ALBUM =>欢迎来到化妆舞会;   android.media.metadata.TITLE =>燃烧起来;动起来;   android.media.metadata.ALBUM_ARTIST =>千足Krutch; }

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

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

如何将MediaMetadata转换为MediaStore.Audio.Media的音频ID

1 个答案:

答案 0 :(得分:0)

诀窍是搜索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)