android - 如何在我的音乐播放器 (Android) 中显示专辑封面?

标签 android android-studio android-activity android-music-player albumart

我正在制作一款音乐应用。到目前为止一切都很顺利。我想在播放歌曲的同时显示专辑封面。但我无法弄清楚这样做的方法。

最佳答案

您可以使用 MediaMetaDataRetriever 类从媒体文件中获取所有元数据。

代码如下:

@Override
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        getInit();

        // Ablum_art retrieval code //

        metaRetriver = new MediaMetadataRetriever();
        metaRetriver.setDataSource("/sdcard/audio.mp3");
        try {
            art = metaRetriver.getEmbeddedPicture();
            Bitmap songImage = BitmapFactory
                    .decodeByteArray(art, 0, art.length);
            album_art.setImageBitmap(songImage);
            album.setText(metaRetriver
                    .extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM));
            artist.setText(metaRetriver
                    .extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST));
            genre.setText(metaRetriver
                    .extractMetadata(MediaMetadataRetriever.METADATA_KEY_GENRE));
        } catch (Exception e) {
            album_art.setBackgroundColor(Color.GRAY);
            album.setText("Unknown Album");
            artist.setText("Unknown Artist");
            genre.setText("Unknown Genre");
        }

    }

    // Fetch Id's form xml 

    public void getInit() {

        album_art = (ImageView) findViewById(R.id.album_art);
        album = (TextView) findViewById(R.id.Album);
        artist = (TextView) findViewById(R.id.artist_name);
        genre = (TextView) findViewById(R.id.genre);

    }
}

关于android - 如何在我的音乐播放器 (Android) 中显示专辑封面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39209253/

相关文章:

android-studio - Android Studio CANNOT LINK EXECUTABLE 是 32 位而不是 64 位

android - 安卓直播

android - 升级 1.12 之前的 Android 项目后未找到实现

android-studio - 为什么我的 native 库没有加载?

java android studio - 检查权限

作为内部类的 Android Activity

java - 调用 finishAffinity() 不会破坏 android 应用程序或 Activity 。即使重新启动应用程序, Activity 的数据仍然存在

java - Android ftp4j - 上传成功后远程文件大小与本地文件大小不匹配

基于单Activity,多Fragment的Android应用

java - 离开和返回 Activity 后使用计时器 onTick 更新 TextView