Изменение фона в соответствии с цветом обложки альбома

Я работаю над музыкальным проигрывателем для Android, и мне нужна была помощь в том, чтобы сделать цвет фона таким же, как обложка альбома для воспроизводимой песни, вроде Sony Walkman. Я попробовал следующий код, но он не работает.
Может ли кто-нибудь направить или помочь мне, как заставить это работать?

 public void updatePlayerBar(Bitmap bitmap) {
        Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
            public void onGenerated(Palette palette) {
                Palette.Swatch swatch = palette.getVibrantSwatch();
                if (swatch == null) swatch = palette.getMutedSwatch(); // Sometimes vibrant swatch is not available
                if (swatch != null) {

                    album_art.setBackgroundColor(swatch.getRgb());   
                    album.setTextColor(swatch.getTitleTextColor());   
                    artist.setTextColor(swatch.getBodyTextColor());
                }
            }
        });
    }

 public void acv(String path) {   //method for retrieving album art

        metaRetriver = new MediaMetadataRetriever();
        metaRetriver.setDataSource(path);
        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));


            updatePlayerBar(songImage);   //calling method updatePlayerBar here 
        } catch (Exception e) {
            album.setText("Unknown Album");
            artist.setText("Unknown Artist");
        }

    }

0 ответов

Другие вопросы по тегам