Изменение фона в соответствии с цветом обложки альбома
Я работаю над музыкальным проигрывателем для 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");
}
}