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)
我正在使用 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)