如何使用MediaStore.Audio.Albums.ALBUM_ART显示专辑封面?

我正在尝试构建MP3播放器,并且希望ImageView显示相应歌曲的专辑封面。我已经尝试了以下方法,但是不起作用。


albumcover = (ImageView) findViewById(R.id.cover);


String coverPath = songsList.get(songIndex).get(MediaStore.Audio.Albums.ALBUM_ART);

Drawable img = Drawable.createFromPath(coverPath);

albumcover.setImageDrawable(img);

当我尝试播放歌曲时,我得到的只是ImageView中的空白屏幕。


智慧大石
浏览 1593回答 3
3回答

慕少森

这是我获取歌曲专辑专辑的方法:Cursor cursor = getContentResolver().query(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,                 new String[] {MediaStore.Audio.Albums._ID, MediaStore.Audio.Albums.ALBUM_ART},                 MediaStore.Audio.Albums._ID+ "=?",                 new String[] {String.valueOf(albumId)},                 null);if (cursor.moveToFirst()) {    String path = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Albums.ALBUM_ART));    // do whatever you need to do}albumId指的是MediaStore.Audio.Media.ALBUM_ID那首歌。如果您要查找特定歌曲的专辑封面(而不是专辑列表中的专辑),就我所知,这是一个两个阶段的过程,因为这ALBUM_ART是MediaStore.Audio.Albums歌曲的属性,不能直接用作歌曲元数据。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android