diff --git a/app/src/main/assets/h5/css/app.css b/app/src/main/assets/h5/css/app.css index 7f5e6a6..5bf74ad 100644 --- a/app/src/main/assets/h5/css/app.css +++ b/app/src/main/assets/h5/css/app.css @@ -316,6 +316,9 @@ body { display: flex; gap: 10px; justify-content: center; + /* 垂直居中:中间播放按钮直径更大,对齐圆心而非顶部 */ + /* Center vertically: the play button is larger, align centers not tops */ + align-items: center; } .media-card .controls button { diff --git a/app/src/main/java/top/yeij/hearth/media/MediaSessionSource.kt b/app/src/main/java/top/yeij/hearth/media/MediaSessionSource.kt index 8009226..dbd3880 100644 --- a/app/src/main/java/top/yeij/hearth/media/MediaSessionSource.kt +++ b/app/src/main/java/top/yeij/hearth/media/MediaSessionSource.kt @@ -212,14 +212,18 @@ class MediaSessionSource(context: Context) { // Title prefers the live notification title (lyrics), falling back to MediaSession metadata val title = notificationTitles[c.packageName] ?: (meta?.getString(MediaMetadata.METADATA_KEY_TITLE) ?: "") + val duration = meta?.getLong(MediaMetadata.METADATA_KEY_DURATION) ?: 0L + val position = state?.position ?: 0L + val playing = state?.state == PlaybackState.STATE_PLAYING + Log.d(TAG, "media: ${c.packageName} duration=$duration position=$position playing=$playing state=${state?.state}") return MediaInfo( title, meta?.getString(MediaMetadata.METADATA_KEY_ARTIST) ?: "", meta?.getString(MediaMetadata.METADATA_KEY_ALBUM) ?: "", meta?.getBitmap(MediaMetadata.METADATA_KEY_ART)?.let { bitmapToBase64(it) } ?: "", - state?.state == PlaybackState.STATE_PLAYING, - state?.position ?: 0L, - meta?.getLong(MediaMetadata.METADATA_KEY_DURATION) ?: 0L, + playing, + position, + duration, c.packageName, ) }