[Android] Audio player: load album art at display resolution
octoclonius
git at videolan.org
Mon Jun 1 12:35:11 UTC 2026
vlc-android | branch: master | octoclonius <25781800+octoclonius at users.noreply.github.com> | Sat May 9 14:28:00 2026 -0500| [eb78a72e55db97f5315d1a2bc00c8b02f7d5c6c0] | committer: Nicolas Pomepuy
Audio player: load album art at display resolution
> https://code.videolan.org/videolan/vlc-android/commit/eb78a72e55db97f5315d1a2bc00c8b02f7d5c6c0
---
.../src/org/videolan/vlc/gui/view/AudioMediaSwitcher.kt | 9 ++++++---
.../src/org/videolan/vlc/gui/view/CoverMediaSwitcher.kt | 3 +++
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/view/AudioMediaSwitcher.kt b/application/vlc-android/src/org/videolan/vlc/gui/view/AudioMediaSwitcher.kt
index effa4168b4..0934bc0125 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/view/AudioMediaSwitcher.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/view/AudioMediaSwitcher.kt
@@ -37,6 +37,8 @@ abstract class AudioMediaSwitcher(context: Context, attrs: AttributeSet) : Fling
private var hasPrevious: Boolean = false
private var previousPosition: Int = 0
+ protected open val coverBitmapWidth: Int = 512
+
override val viewSwitchListener = object : ViewSwitchListener {
override fun onSwitching(progress: Float) {
audioMediaSwitcherListener.onMediaSwitching()
@@ -86,11 +88,12 @@ abstract class AudioMediaSwitcher(context: Context, attrs: AttributeSet) : Fling
val artMrl = service.coverArt
val prevArtMrl = service.prevCoverArt
val nextArtMrl = service.nextCoverArt
+ val targetWidth = coverBitmapWidth
val (coverCurrent, coverPrev, coverNext) = withContext(Dispatchers.IO) {
Triple(
- artMrl.let { AudioUtil.readCoverBitmap(Uri.decode(artMrl), 512) },
- prevArtMrl.let { AudioUtil.readCoverBitmap(Uri.decode(prevArtMrl), 512) },
- nextArtMrl?.let { AudioUtil.readCoverBitmap(Uri.decode(nextArtMrl), 512) }
+ artMrl.let { AudioUtil.readCoverBitmap(Uri.decode(artMrl), targetWidth) },
+ prevArtMrl.let { AudioUtil.readCoverBitmap(Uri.decode(prevArtMrl), targetWidth) },
+ nextArtMrl?.let { AudioUtil.readCoverBitmap(Uri.decode(nextArtMrl), targetWidth) }
)
}
val trackInfo = service.trackInfo()
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/view/CoverMediaSwitcher.kt b/application/vlc-android/src/org/videolan/vlc/gui/view/CoverMediaSwitcher.kt
index 9f1fe7d89e..0dafe8730d 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/view/CoverMediaSwitcher.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/view/CoverMediaSwitcher.kt
@@ -38,6 +38,9 @@ import org.videolan.vlc.util.TextUtils
class CoverMediaSwitcher(context: Context, attrs: AttributeSet) : AudioMediaSwitcher(context, attrs) {
+ override val coverBitmapWidth: Int
+ get() = if (width > 0) width else context.resources.displayMetrics.widthPixels
+
override fun addMediaView(
inflater: LayoutInflater,
title: String?,
More information about the Android
mailing list