uamp
uamp copied to clipboard
Download album artwork on demand
Is there a way to download artwork only for currently playing track?
// Block on downloading
val art = glide.applyDefaultRequestOptions(glideOptions)
.asBitmap()
.load(song.image)
.submit(NOTIFICATION_LARGE_ICON_SIZE, NOTIFICATION_LARGE_ICON_SIZE)
.get()
This downloads all album artworks.
See #235
Hi, the way I do it is as follows.... ---> MusicService.kt
private inner class MediaControllerCallback : MediaControllerCompat.Callback() {
override fun onMetadataChanged(metadata: MediaMetadataCompat?) {
val state = mediaController.playbackState.state
if (state == PlaybackState.STATE_BUFFERING &&
metadata?.description?.mediaId != null &&
state != STATE_NONE
) {
val art = ArtCache.getInstance()?.getBigImage(metadata.description.iconUri.toString())
if (art != null) {
val media = MediaMetadataCompat.Builder(metadata)
.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, art)
.build()
mediaSession.setMetadata(media)
}
}
mediaController.playbackState?.let {
updateNotification(it)
}
}
override fun onPlaybackStateChanged(state: PlaybackStateCompat?) {
state?.let {
updateNotification(it)
}
}
private fun updateNotification(state: PlaybackStateCompat) {
//Code...
}
}
}